我必须为JavaScript函数编写单元测试,以比较两个电话号码。此函数的输入参数为两个字符串,返回类型为true / false。如果电话号码相同,则为True;否则,则为False。测试中应包括尽可能多的情况。
函数的定义为phoneNrsAreEqual(nr1:String,nr2:String):Bool
感谢您的帮助!
我相信这就是您所需要的?
我使用conditional operator检查两个字符串,如果相等则返回true,否则返回false。
function phoneNrsAreEqual(firstNumber, secondNumber) {
return firstNumber == secondNumber? true : false;
}
开始的地方是通过创建不带标点的字符串版本来清理电话号码。
function cleanPhoneNumber(n) {
return n.replace(/[() +-]/g,"");
}
function phoneNrsAreEqual(nr1, nr2) {
return clean(nr1) === clean(nr2);
}
如果数字包括国际数字,则会变得更加复杂,因为有许多种不同的表示方式。
(01234) 567890
+44 (1234) 567890
01144 (1234) 567890 (when dialed from US)
都是相同的数字。