【问题标题】:Implementation : Phone number validation fails with google-libphonenumber实施:电话号码验证失败,google-libphonenumber
【发布时间】:2017-06-16 22:12:08
【问题描述】:

以 8209****** 开头的数字显示给定区域“IN”的无效数字。这是相同的 npm runkit 演示。

https://runkit.com/592d3e4bb70f37001158b54d/592d3e4bb70f37001158b54e

但是,使用最新版本的 google-libphonenumber 的 API 调用显示了准确的结果。

http://libphonenumber.appspot.com/phonenumberparser?number=%2B91+8209895324

我的假设是实现有问题。

这里是完整的实现,它来自 google-libphonenumber 的 npm runkit。

var phoneUtil = require("google-libphonenumber").PhoneNumberUtil.getInstance();
var phoneNumber0 = "+918209000000";
var phoneNumber1 = "+918197800510";
var phoneNumber2 = "+918209890000";
var phone0 = phoneUtil.parse(phoneNumber0); 
var phone1 = phoneUtil.parse(phoneNumber1); 
var phone2 = phoneUtil.parse(phoneNumber2);
console.log(phoneUtil.isValidNumber(phone0)); // failed
console.log(phoneUtil.isValidNumber(phone1)); // success 
console.log(phoneUtil.isValidNumber(phone2)); // failed

【问题讨论】:

  • 你能改用正则表达式吗??
  • @ΦXocę웃Пepeúpaツ 不幸的是,没有。我之前曾将此作为错误提交,他们提到它不是。只是想知道该实现到底出了什么问题,因为它适用于除本系列之外的所有其他数字。
  • @SushimMukulDutta 你确定它们是有效的电话号码吗?
  • @talentedandrew 是的,请检查对库的 API 调用。 libphonenumber.appspot.com/…。这里使用的数字也是代码中的第三种情况,失败了。

标签: javascript node.js libphonenumber


【解决方案1】:

更新:这是包装器 google-libphonenumber 中的 bug,在 2.0.18 版中已解决。测试run

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-09-17
    • 2019-03-11
    • 1970-01-01
    • 2020-12-15
    • 1970-01-01
    • 2012-10-27
    相关资源
    最近更新 更多