Javascript Google PhoneNumber验证程序未正确验证

Javascript Google PhoneNumber验证程序未正确验证,javascript,libphonenumber,Javascript,Libphonenumber,我正在尝试实现的电话号码验证,顺便说一句,它使用这段代码对一些号码进行格式化 $("#phone").unbind().keyup(function () { var val_old = $(this).val(); var newString = new libphonenumber.AsYouType('US').input(val_old); $(this).focus().val('').val(newString); }); 但是,当涉及到验证时,它会返回fa

我正在尝试实现的电话号码验证,顺便说一句,它使用这段代码对一些号码进行格式化

$("#phone").unbind().keyup(function () {
    var val_old = $(this).val();
    var newString = new libphonenumber.AsYouType('US').input(val_old);
    $(this).focus().val('').val(newString);
});
但是,当涉及到验证时,它会返回
false
,因为这些数字显然是合法的

$('#phone').val();
"0796321811"
var phone_no = $('#phone').val();
undefined
libphonenumber.isValidNumber(phone_no)
false
libphonenumber.isPossibleNumber(phone_no)
false
$('#phone').val();
"(451) 552-7744"
var phone_no = $('#phone').val();
undefined
libphonenumber.isValidNumber(phone_no)
false

您是否有当前版本的
libphonenumber
?我发现不同版本的文档有不同的要求

尝试使用地区代码

libphonenumber.isValidNumber({
  "country_code": 41,
  "national_number": 0796321811
});
以下是新遗留api的一个示例:


它对
0796321811
valid:false
,所以我认为这不是你的错。您需要更多信息来向api提供,或者该数字确实无效(?)。我看不出有任何方法可以从API中获得更多信息,所以我想说一下为什么它被认为是无效的。我所知道的大多数网站也要求使用地区代码来简化号码验证,这是你可以实现的吗?

为什么
var phone\u no=$(“#phone').val()
未定义的
$(“#phone').val()
不是吗?@xcy7e当您将响应分配给chromeso上的变量时,控制台返回
未定义
。问题似乎是您需要首先输入国家代码,我需要研究如何禁用该选项,并提供两个国家代码作为输入