libphonenumber node.js将number格式化为intl格式,即使它是无效的

时间:2014-08-02 10:37:07

标签: node.js libphonenumber

我正在使用libphonenumber库来获取node.js

在Google demo for this library中,如果输入的电话号码无效,则不会填充国际/地区的格式。但是当我尝试通过node.js库解析一个无效的数字时,它会创建intl字符串表示,而不管该数字是否有效。

我需要确保只转换有效数字和invalids才能返回null。

举个例子,考虑一下:

var phoneProto = phoneUtil.parse("12213", "IN");
phoneProto.intl = phoneUtil.format(phoneProto, 1);
sails.log.debug(phoneProto.intl);

输出

+91 12213

如何确保只返回有效的?

1 个答案:

答案 0 :(得分:1)

根据图书馆的文件,

parse(java.lang.String numberToParse,                          java.lang.String defaultRegion)

  

解析字符串并以原始缓冲区格式返回。如果数字不被认为是可能的数字,则此方法将抛出NumberParseException。 请注意,不会执行验证数字是否实际上是特定区域的有效数字。这可以使用isValidNumber(PhoneNumber)单独完成。