120

GitHub - jxlwqq/id-validator: 中华人民共和国居民身份证、中华人民共和国港澳居民居...

 5 years ago
source link: https://github.com/jxlwqq/id-validator
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

README.md

IdValidator.php

中华人民共和国居民身份证中华人民共和国港澳居民居住证以及中华人民共和国台湾居民居住证号码验证工具(PHP Composer 版)支持 15 位与 18 位身份证号。基于 JavaScript 版本

Chinese Mainland Personal ID Card Validation.

Build Status StyleCI Scrutinizer Code Quality FOSSA Status

安装

composer require "jxlwqq/id-validator"

使用

440308199901101512610104620927690 示例大陆居民身份证均为随机生成的假数据,如撞车,请联系删除。 810000199408230021830000199201300022 示例港澳台居民居住证为北京市公安局公布的居住证样式号码。

验证身份证号合法性

验证身份证号是否合法,合法返回 true,不合法返回 false:

use Jxlwqq\IdValidator\IdValidator;

$idValidator = new IdValidator();
$idValidator->isValid('440308199901101512'); // 大陆居民身份证 18 位
$idValidator->isValid('610104620927690');    // 大陆居民身份证 15 位
$idValidator->isValid('810000199408230021'); // 港澳居民居住证 18 位
$idValidator->isValid('830000199201300022'); // 台湾居民居住证 18 位

获取身份证号信息

当身份证号合法时,返回分析信息(地区、出生日期、星座、生肖、性别、校验位),不合法返回 false:

use Jxlwqq\IdValidator\IdValidator;

$idValidator = new IdValidator();
$idValidator->getInfo('440308199901101512'); // 18 位
$idValidator->getInfo('610104620927690'); // 15 位

返回信息格式:

[
'addressCode'   => '440308',          // 地址码   
'abandoned'     => 0,                 // 地址码是否废弃,1 为废弃的,0 为正在使用的
'address'       => '广东省深圳市盐田区', // 地址
'birthdayCode'  => '1999-01-10',      // 出生日期
'constellation' => '水瓶座',           // 星座
'chineseZodiac' => '卯兔',             // 生肖
'sex'           => 1,                 // 性别,1 为男性,0 为女性
'length'        => 18,                // 号码长度
'checkBit'      => '2',               // 校验码
]

生成可通过校验的假数据

伪造符合校验的身份证:

use Jxlwqq\IdValidator\IdValidator;

$idValidator = new IdValidator();
$idValidator->fakeId(); // 18 位
$idValidator->fakeId(false); // 15 位

参考资料

Change Log

  • 1.1.0 身份证号返回信息新增生肖和星座内容;

  • 1.2.0 支持港澳台居民居住证;

  • 1.3.0 行政区划代码(地址码)数据改由从中华人民共和国民政部官方网站获取;

  • 1.4.0 支持查询因行政区变更而废弃的地址码;

License

MIT


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK