yhdleung/hkid-util

与香港身份证(HKID)相关的实用函数

1.0.1 2022-04-07 17:16 UTC

This package is not auto-updated.

Last update: 2024-09-22 04:45:45 UTC


README

PHP实用函数,旨在帮助与香港身份证(HKID)相关的任务。

Latest Stable Version License

功能

  • 支持两位字母前缀(例如:AB987654(3))
  • 对于HKID输入,括号是可选的

需求

  • PHP 5.3+

函数

  • getCheckDigit - 获取HKID的校验位
char HKIDUtil::getCheckDigit(string $id)
  • validateHKID - 验证HKID格式
bool HKIDUtil::validateHKID(string $id)
  • randomHKID - 生成随机HKID
string HKIDUtil::randomHKID(bool $hasParentheses=true)
  • validateDate - 验证'dd-mm-yyyy'或'dd/mm/yyyy'格式的日期
bool HKIDUtil::validateDate(string $date)

安装

包含实用函数文件

require_once("HKIDUtil.php");

用法

获取HKID的校验位

$testID = 'C123456';
echo(HKIDUtil::getCheckDigit($testID));  // returns '9'

验证HKID格式,校验位的括号是可选的

var_dump(HKIDUtil::validateHKID('AB987654(3)'));   // bool(true)

if(HKIDUtil::validateHKID('AB9876543')){ 
    echo 'valid'; 
}     //returns 'valid'

生成随机HKID

echo(HKIDUtil::randomHKID());     // returns HKID, e.g. 'LA654668(9)'

for($i = 0; $i < 3; $i++){
    echo(HKIDUtil::randomHKID(0)) . PHP_EOL;
}
// returns HKID without parentheses, e.g. 
// 'Q2127047'
// 'J9009792'
// 'BA1196657'

验证'dd-mm-yyyy'或'dd/mm/yyyy'格式的日期

var_dump(HKIDUtil::validateDate('31-12-1969'));     // bool(true)
var_dump(HKIDUtil::validateDate('01/01/1970'));     // bool(true)
var_dump(HKIDUtil::validateDate('1/1/1970'));       // bool(true)
var_dump(HKIDUtil::validateDate('30/02/1970'));     // bool(false)

许可证

查看LICENSE文件以获取许可权利和限制(MIT)。

参考

此HKID验证公式是根据维基百科上的信息开发的。
維基百科, 香港身份證 (Wikipedia, Hong Kong Identity Card)

贡献

星标、分支、拉取请求和问题报告都受欢迎。