-1

我必须为 JavaScript 函数编写一个单元测试来比较两个电话号码。这是一个函数,其输入参数是两个字符串,返回类型是true / falseTrue如果电话号码相同,false如果不是。测试中应包括尽可能多的案例。

函数的定义是phoneNrsAreEqual(nr1: String, nr2: String): Bool

谢谢你帮助我!

4

2 回答 2

0

开始的地方是通过创建不带标点符号的字符串版本来清理电话号码。

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)

都是同一个数字。

于 2019-11-06T11:25:45.830 回答
0

我相信这是你需要的?

您可以使用替换功能删除空格。

function phoneNrsAreEqual(firstNumber, secondNumber) {
    
    return removeSpaces(firstNumber) == removeSpaces(secondNumber);

}

function removeSpaces(str) {
    
    return str = str.replace(/\s+/g, '');

}

于 2019-11-06T11:16:17.887 回答