首页 > 解决方案 > 如何比较javascript布尔函数中的字符串?

问题描述

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

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

谢谢你帮助我!

标签: javascriptfunctionbooleanstring-comparisonstringcomparer

解决方案


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

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)

都是同一个数字。


推荐阅读