javascript - 如何比较javascript布尔函数中的字符串?
问题描述
我必须为 JavaScript 函数编写一个单元测试来比较两个电话号码。这是一个函数,其输入参数是两个字符串,返回类型是true / false
。True
如果电话号码相同,false
如果不是。测试中应包括尽可能多的案例。
函数的定义是phoneNrsAreEqual(nr1: String, nr2: String): Bool
谢谢你帮助我!
解决方案
开始的地方是通过创建不带标点符号的字符串版本来清理电话号码。
function cleanPhoneNumber(n) {
return n.replace(/[() +-]/g,"");
}
function phoneNrsAreEqual(nr1, nr2) {
return cleanPhoneNumber(nr1) === cleanPhoneNumber(nr2);
}
如果数字包括国际数字,情况会变得更加复杂,因为有很多不同的方式来表示它们。
(01234) 567890
+44 (1234) 567890
01144 (1234) 567890 (when dialed from US)
都是同一个数字。
推荐阅读
- stripe-payments - 从附加的支付方法对象生成一个新的条纹源对象
- quicksort - 快速排序算法,适用于除最后一个数字之外的所有数字吗?
- python-3.x - HOG手写数字识别不起作用
- flutter - 使用 Google 将 api 置于 Flutter 中
- r - 如何解决:尝试在小于二维的对象上设置“colnames”
- r - 如何在R中循环lapply函数
- swift - SwiftUI - ForEach 循环中的增量变量由于某种原因不起作用
- c - 调用 MPI_SCATTERV 后排名超出范围
- javascript - ReactJS setState 仅一次
- python - 通过列表迭代 for 不是从索引开始