Подтвердить что ты не робот

Формат номера телефона и библиотека проверки

Этот вопрос, требующий API формата номера телефона в Java, заставил меня задаться вопросом, почему такой API, похоже, не существует. Учитывая количество валидация классов, доступных в Apache Commons, Я бы подумал, что такой API будет включен.

Мой вопрос: кто-нибудь знает о библиотеке форматирования/проверки номера телефона, доступной в любом языке, который может быть использован в качестве модели для небольшого Java-проекта с открытым исходным кодом? Кроме того, кроме большого количества различных форматов телефонных номеров, используемых во всем мире, кто-нибудь знает о какой-либо причине, что такой проект был бы неосуществим?

4b9b3361

Ответ 2

Недавно Google опубликовал libphonenumber для разбора, форматирования, хранения и проверки международных телефонных номеров.

Ответ 3

В http://www.geonames.org/ у них есть база данных, которую вы можете скачать, правила theres regEx для телефонных номеров, включенных в набор данных информации о стране.

http://download.geonames.org/export/dump/

Посмотрите файл 'countryInfo.txt'.

Я предлагаю вам создать свой собственный валидатор на основе этого.

Ответ 4

Как было сказано в ответах на другой вопрос, никто не видел ни одного для Java, и, как вы сказали, это было бы почти невозможно из-за различий в форматах телефонных номеров по всему миру.

И если вы знаете разные форматы для регионов, на которые настроен таргетинг, обычно довольно легко реализовать его в регулярных выражениях.

Ответ 5

Здесь вы можете посмотреть Parsify Format - https://www.mashape.com/parsify/format#endpoint-Phone-Number

Он вернет ваш номер в нескольких форматах, например.

{ "e164": "+1234567890", "национальный": "234567890", "международный": "+1 234567890", "valid": false, "type": "UNKNOWN" }

Вы можете получить более обширный ответ, если это реальное число

Ответ 6

Поле ввода телефона:

<input class="left" id="field" name="field" />

jquery Script:

jQuery.validator.addMethod( "phoneUS", function (phone_number, element) {  phone_number = phone_number.replace(/\ s +/g, "");  return this.optional(element) || phone_number.length > 9 & &  phone_number.match(/^ (1 -) (([2-9]\d {2}) |?? [2-9]\d {2}) - [2-9]\d {2} -?\d {4} $/); }, "Укажите действительный номер телефона" );