captn3m0/pincode

印度邮政编码的正则表达式验证器

v2.0.0 2023-07-10 16:22 UTC

This package is auto-updated.

Last update: 2024-09-10 18:51:37 UTC


README

使用几个正则表达式和零假阳性来验证印度的邮政索引号码。正则表达式在 regex.txt 中可用。每个区号(PIN号的第一位数字,从1到8)有一个正则表达式。作为Ruby、Python、Node.js和浏览器的包提供。

为什么?

简单的 \d{6} 方法会将许多无效的邮政编码标记为有效。在900000种可能的组合中,只有大约 19000 是印度的有效邮政编码。一个简单的例子是 111111,这是一个无效的邮政编码,但任何简单的6位检查都会将其视为有效。

源代码

数据来源是data.gov.in上的"All India Pincode Directory"数据集。数据集的最后更新日期是2019年5月30日。

用法

regex.txt文件大小为32KB,因此您可以轻松地将其用于任何地方,包括浏览器。如果您正在使用以下任何包,它已经压缩并交付。您可以直接使用正则表达式,或者通过一些辅助方法。

支持的编程语言版本

该项目只支持各种语言的受支持版本

PHP

该包可在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"]

Node.js

该包可在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以获取更多示例。

Ruby

将此行添加到您的应用程序的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>

您可以直接在代码中使用它:https://rawcdn.githack.com/captn3m0/india-pincode-regex/v2.0.0/pincode-regex.js(请确保您使用的是最新版本)。请关注仓库以获取新版本的通知。

行为准则

所有与该项目的代码库、问题跟踪器、聊天室和邮件列表互动的人应遵守行为准则

贡献

  • 有关一些开发细节和贡献指南,请参阅CONTRIBUTING.md
  • 欢迎为添加其他语言的库(在同一存储库中)提交拉取请求。Python支持正在进行中,我很乐意有其他语言的支持。
  • 该项目旨在成为一个安全、欢迎的协作空间,贡献者应遵守贡献者公约的行为准则。

许可证

遵循MIT许可证。详细信息请参阅LICENSE文件。