中華人民共和國居民身份證
、中華人民共和國港澳居民居住證
以及中華人民共和國臺灣居民居住證
號碼驗證工具(PHP Composer 版)支援 15 位與 18 位號碼。基於 JavaScript 版本。
安裝
composer require "jxlwqq/id-validator"
使用
440308199901101512
和610104620927690
示例大陸居民身份證均為隨機生成的假資料,如撞車,請聯絡刪除。810000199408230021
和830000199201300022
示例港澳臺居民居住證為北京市公安局公佈的居住證樣式號碼。
驗證身份證號合法性
驗證身份證號是否合法,合法返回 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', // 校驗碼
]
生成可透過校驗的假資料
偽造符合校驗的身份證:
fakeId()
方法有 4 個可選引數:
$eighteen
是否生成 18 位號碼,預設為true
;$address
地址,即省市縣三級地區官方全稱,如北京市
、臺灣省
、香港特別行政區
、深圳市
、黃浦區
等,預設或引數非法,則生成合法的隨機地址;$birthday
出生日期,如2000
、198801
、19990101
等,預設或引數非法,則生成合法的隨機出生日期;$sex
性別,1 為男性,0 為女性,預設或引數非法,則生成合法的隨機性別;
use Jxlwqq\IdValidator\IdValidator;
$idValidator = new IdValidator();
$idValidator->fakeId(); // 18 位
$idValidator->fakeId(false); // 15 位
$idValidator->fakeId(true, '上海市', '2000', 1); // 生成出生於 2000 年上海市的男性居民身份證
$idValidator->fakeId(true, '南山區', '1999', 0); // 生成出生於 1999 年深圳市南山區的女性居民身份證
$idValidator->fakeId(true, '江蘇省', '200001', 1)); // 生成出生於 2000 年 1 月江蘇省的男性居民身份證
$idValidator->fakeId(true, '臺灣省', '20131010', 0); // 生成出生於 2013 年 10 月 10 日臺灣省的女性居民居住證
$idValidator->fakeId(true, '香港特別行政區', '19970701', 0); // 生成出生於 1997 年 7 月 1 日香港特別行政區的女性居民居住證
參考資料
-
GB 11643-1999 公民身份證號碼 -
GB 2260-1995 中華人民共和國行政區劃程式碼
Change Log
-
1.1.0 身份證號返回資訊新增生肖和星座內容;
-
1.2.0 支援港澳臺居民居住證;
-
1.3.0 行政區劃程式碼(地址碼)資料改由從中華人民共和國民政部官方網站獲取;
-
1.4.0 支援查詢因行政區變更而廢棄的地址碼;
-
1.4.2 fakeId() 方法增加可選引數;
License
MIT
本作品採用《CC 協議》,轉載必須註明作者和本文連結