captn3m0/pincode
Composer 安装命令:
composer require captn3m0/pincode
包简介
A simple regex based validator for PIN codes in India
README 文档
README
Validate a Postal Index Number for India with a few regexes and zero false-positives. The regexes are available in regex.txt. There is one regex per area code (the first digit of the PIN, which goes from 1-8). Available as a package for Ruby, Python, Node.js, and browsers.
Why?
A simple \d{6} approach marks a lot of invalid pincodes as valid. Out of the 900000 possible combinations, only 19584 are valid pincodes in India. A simple example is 111111 which is an invalid pincode, but any simple 6 digit-check will pass it as a valid one.
Source
The source for the data is the "All India Pincode Directory" dataset on data.gov.in. The last updated date for the dataset is currently 30th May 2019.
Usage
The regex.txt file is 32KB in size, so you can easily use it wherever you want, including browsers. If you are using any of the packages below, this is already delivered compressed. You can use the regex directly, or via a few helper methods.
Supported Language Versions
This project only supports supported versions of various languages.
PHP
The package is available on packagist.
To use the PHP package:
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
The package is available on npm.
To use the package:
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)
Please see tests/validate.js for more examples.
Ruby
Add this line to your application's Gemfile:
gem 'pincode_validator'
And then execute:
$ bundle
Or install it yourself as:
$ 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']
Browser
To use it in the browser, download the pincode-regex.js file and include it in your browser. Pincode is available as a Global variable.
<script src="../pincode-regex.js"></script> <script> Pincode.validate("560029"); // returns true </script>
You can use githack for directly using this in your code: https://rawcdn.githack.com/captn3m0/india-pincode-regex/v2.0.0/pincode-regex.js (Make sure you use the latest version). Please watch the repo to get notified of new releases.
Code of Conduct
Everyone interacting in the this project’s codebases, issue trackers, chat rooms and mailing lists is expected to follow the code of conduct.
Contributing
- See
CONTRIBUTING.mdfor some development details and contribution guidelines - Pull requests are welcome for adding libraries in other languages (in the same repo). Python support is WIP, and I'd love to have support for other languages as well.
- This project is intended to be a safe, welcoming space for collaboration, and contributors are expected to adhere to the Contributor Covenant code of conduct.
License
Licensed under the MIT License. See LICENSE file for details.
captn3m0/pincode 适用场景与选型建议
captn3m0/pincode 是一款 基于 JavaScript 开发的 Composer 扩展包,目前已累计 10 次下载、GitHub Stars 达 8, 最近一次更新时间为 2020 年 02 月 24 日, 在 PHP 生态内属于活跃度较高的组件。
我们在过去多个企业项目中使用过 captn3m0/pincode 或与其功能相近的方案,如果你在选型或落地过程中遇到问题,例如 版本兼容、二次改造、私有化封装、与内部系统对接、生产 BUG 排查,欢迎联系我们协助评估。
基于 captn3m0/pincode 在你已有业务上做功能扩展、字段裁剪、UI 适配、与内部账号 / 权限 / 日志系统的深度对接。
线上偶发问题、内存泄漏、慢查询、并发异常等排查修复;针对高流量场景做缓存、队列、索引层面的调优。
承接完整的项目从需求 → 设计 → 开发 → 上线 → 长期运维;也可按月提供技术保姆服务。
统计信息
- 总下载量: 10
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 8
- 点击次数: 8
- 依赖项目数: 0
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2020-02-24