いくつかの正規表現とゼロの誤検知を使用して、インドの郵便インデックス番号を検証します。正規表現はregex.txt
で入手できます。市外局番 (PIN の最初の桁、1 ~ 8) ごとに 1 つの正規表現があります。 Ruby、Python、Node.js、およびブラウザーのパッケージとして利用できます。
単純なd{6}
アプローチでは、多くの無効な PIN コードを有効としてマークします。 900,000 の可能な組み合わせのうち、インドで有効な PIN コードは約19000
のみです。簡単な例として111111
は無効な PIN コードですが、単純な 6 桁のチェックでは有効なPINコードとして合格します。
データのソースは、data.gov.in の「All India Pincode Directory」データセットです。現在、データセットの最終更新日は 2019 年 5 月 30 日です。
regex.txt
ファイルのサイズは 32 KB なので、ブラウザを含め、どこでも簡単に使用できます。以下のパッケージのいずれかを使用している場合、これはすでに圧縮された状態で配信されています。正規表現を直接使用することも、いくつかのヘルパー メソッドを介して使用することもできます。
このプロジェクトは、さまざまな言語のサポートされているバージョンのみをサポートします。
パッケージは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ライセンスに基づいてライセンスされています。詳細については、LICENSE ファイルを参照してください。