Google PhoneNumber Validator не проверяет правильно - PullRequest
2 голосов
/ 27 сентября 2019

Я пытаюсь реализовать проверку номера телефона google , кстати, он выполняет форматирование для некоторых номеров, используя этот фрагмент кода

$("#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

1 Ответ

1 голос
/ 27 сентября 2019

У вас есть текущая версия libphonenumber?Я нашел разные документы для разных версий, имеющих разные требования.

Попробуйте с кодом региона

libphonenumber.isValidNumber({
  "country_code": 41,
  "national_number": 0796321811
});

Вот демо для нового устаревшего API:

Это говорит valid: false для 0796321811, поэтому я предполагаю, что это не твоя вина.Вам либо нужна дополнительная информация для подачи API, либо число действительно недействительно (?).Я не вижу способа получить больше информации из API, так сказать, почему он считается недействительным.Большинство сайтов, которые я знаю, также запрашивают код региона, чтобы упростить проверку номера. Это то, что вы можете реализовать?

...