/**
* @param string $id_no
*
* @return bool
*/
function idNoValidate(string $id_no): bool {
if (strlen($id_no) !== 18) {
return false;
}
$weight = [7, 9, 10, 5, 8, 4, 2, 1, 6, 3, 7, 9, 10, 5, 8, 4, 2];
$sum = 0;
for ($i = 0; $i < 17; $i++) {
$sum += $id_no[$i] * $weight[$i];
}
$validate = ['1', '0', 'X', '9', '8', '7', '6', '5', '4', '3', '2'];
return $validate[$sum % 11] === substr($id_no, -1, 1);
}
PHP 18 位身份证号码校验
最新推荐文章于 2024-04-18 12:51:45 发布