Проверьте номер почтового индекса для Индии с помощью нескольких регулярных выражений и нулевых ложных срабатываний. Регулярные выражения доступны в regex.txt
. Для каждого кода города существует одно регулярное выражение (первая цифра PIN-кода от 1 до 8). Доступен в виде пакета для Ruby, Python, Node.js и браузеров.
Простой подход d{6}
помечает множество недействительных пин-кодов как действительные. Из 900 000 возможных комбинаций только около 19000
являются действительными пин-кодами в Индии. Простой пример — 111111
, который является неверным пин-кодом, но любая простая проверка из 6 цифр выдаст его как действительный.
Источником данных является набор данных «Всеиндийский каталог PIN-кодов» на сайте data.gov.in. Дата последнего обновления набора данных — 30 мая 2019 года.
Размер файла regex.txt
составляет 32 КБ, поэтому вы можете легко использовать его где угодно, включая браузеры. Если вы используете какой-либо из приведенных ниже пакетов, он уже поставляется в сжатом виде. Вы можете использовать регулярное выражение напрямую или с помощью нескольких вспомогательных методов.
Этот проект поддерживает только поддерживаемые версии различных языков.
Пакет доступен на packagist
.
Чтобы использовать пакет PHP:
use PIN Validator as P ;
// validates a given pincode
// returns boolean
P:: validate ( ' 110011 ' ); // returns true;
// Searches for all valid pincodes in a given string.
// returns array(string)
P:: search ( ' bangalore 560029 ' ); // returns ["560029"]
Пакет доступен на npm
.
Чтобы использовать пакет:
const P = require ( 'pincode-validator' ) ;
P . validate ( '110011' ) ; // returns true
P . search ( 'my pincode is 560029' ) ; // returns ['560029']
// or directly use the regex in your code
P . exactRegex . match ( '560029' )
"address with pincode (560029)" . matchAll ( P . regex )
Дополнительные примеры см. tests/validate.js
.
Добавьте эту строку в Gemfile вашего приложения:
gem 'pincode_validator'
И затем выполните:
$ bundle
Или установите его самостоятельно как:
$ gem install pincode_validator
require 'pincode_validator'
Pin :: valid? ( '560029' ) # returns true
Pin :: valid? ( '111111' ) # returns false
Pin :: search ( 'my pincode is 244713' ) # returns ['244713']
Pin :: search ( 'my pincode is 244713 or 560029' ) # returns ['244713', '560029']
Чтобы использовать его в браузере, загрузите файл pincode-regex.js
и включите его в свой браузер. Pincode
доступен как глобальная переменная.
< script src =" ../pincode-regex.js " > </ script >
< script >
Pincode . validate ( "560029" ) ; // returns true
</ script >
Вы можете использовать githack для прямого использования этого в своем коде: https://rawcdn.githack.com/captn3m0/india-pincode-regex/v2.0.0/pincode-regex.js (убедитесь, что вы используете последнюю версию). Пожалуйста, посмотрите репозиторий, чтобы получать уведомления о новых выпусках.
Ожидается, что все, кто взаимодействует с кодовыми базами этого проекта, системами отслеживания проблем, чатами и списками рассылки, будут следовать кодексу поведения.
CONTRIBUTING.md
для получения подробной информации о разработке и рекомендаций по участию.Лицензировано по лицензии MIT. Подробности смотрите в файле ЛИЦЕНЗИИ.