Skip to content

中华人民共和国居民身份证、中华人民共和国港澳居民居住证以及中华人民共和国台湾居民居住证号码验证工具

License

Notifications You must be signed in to change notification settings

JavaScriptExample/id-validator

Repository files navigation

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',
'address'       => '广东省深圳市盐田区',
'birthdayCode'  => '1999-01-10',
'constellation' => '水瓶座',
'chineseZodiac' => '卯兔',
'sex'           => 1,
'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

中华人民共和国居民身份证、中华人民共和国港澳居民居住证以及中华人民共和国台湾居民居住证号码验证工具

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • PHP 100.0%