我必须为 JavaScript 函数编写一个单元测试来比较两个电话号码。这是一个函数,其输入参数是两个字符串,返回类型是true / false
。True
如果电话号码相同,false
如果不是。测试中应包括尽可能多的案例。
函数的定义是phoneNrsAreEqual(nr1: String, nr2: String): Bool
谢谢你帮助我!
我必须为 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)
都是同一个数字。
我相信这是你需要的?
您可以使用替换功能删除空格。
function phoneNrsAreEqual(firstNumber, secondNumber) {
return removeSpaces(firstNumber) == removeSpaces(secondNumber);
}
function removeSpaces(str) {
return str = str.replace(/\s+/g, '');
}