Valide um número de índice postal para a Índia com algumas expressões regulares e zero falsos positivos. As expressões regulares estão disponíveis em regex.txt
. Existe um regex por código de área (o primeiro dígito do PIN, que vai de 1 a 8). Disponível como um pacote para Ruby, Python, Node.js e navegadores.
Uma abordagem simples d{6}
marca muitos códigos PIN inválidos como válidos. Das 900.000 combinações possíveis, apenas aproximadamente 19000
são códigos PIN válidos na Índia. Um exemplo simples é 111111
, que é um código PIN inválido, mas qualquer verificação simples de 6 dígitos o passará como válido.
A fonte dos dados é o conjunto de dados "All India Pincode Directory" em data.gov.in. A última data de atualização do conjunto de dados é atualmente 30 de maio de 2019.
O arquivo regex.txt
tem 32 KB, então você pode usá-lo facilmente onde quiser, incluindo navegadores. Se você estiver usando algum dos pacotes abaixo, ele já vem compactado. Você pode usar o regex diretamente ou por meio de alguns métodos auxiliares.
Este projeto oferece suporte apenas a versões suportadas de vários idiomas.
O pacote está disponível no packagist
.
Para usar o pacote 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"]
O pacote está disponível em npm
.
Para usar o pacote:
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 )
Consulte tests/validate.js
para mais exemplos.
Adicione esta linha ao Gemfile da sua aplicação:
gem 'pincode_validator'
E então execute:
$ bundle
Ou instale você mesmo como:
$ 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']
Para utilizá-lo no navegador, baixe o arquivo pincode-regex.js
e inclua-o em seu navegador. Pincode
está disponível como uma variável global.
< script src =" ../pincode-regex.js " > </ script >
< script >
Pincode . validate ( "560029" ) ; // returns true
</ script >
Você pode usar o githack para usá-lo diretamente em seu código: https://rawcdn.githack.com/captn3m0/india-pincode-regex/v2.0.0/pincode-regex.js (certifique-se de usar a versão mais recente). Por favor, assista ao repositório para ser notificado sobre novos lançamentos.
Espera-se que todos que interagem nas bases de código, rastreadores de problemas, salas de chat e listas de discussão deste projeto sigam o código de conduta.
CONTRIBUTING.md
para obter alguns detalhes de desenvolvimento e diretrizes de contribuiçãoLicenciado sob a licença MIT. Consulte o arquivo LICENSE para obter detalhes.