要检测身份证号码的有效性,可以使用以下方法:
检查身份证号码长度是否为18位。
function validateIdCard($idCard) {
if (strlen($idCard) != 18) {
return false;
}
// 其他验证逻辑
return true;
}
检查身份证号码是否符合身份证号码的规则。
function validateIdCard($idCard) {
if (strlen($idCard) != 18) {
return false;
}
$pattern = '/^\d{17}[\dX]$/';
if (!preg_match($pattern, $idCard)) {
return false;
}
// 其他验证逻辑
return true;
}
检查身份证号码的校验位是否正确。
function validateIdCard($idCard) {
if (strlen($idCard) != 18) {
return false;
}
$pattern = '/^\d{17}[\dX]$/';
if (!preg_match($pattern, $idCard)) {
return false;
}
$factor = array(7, 9, 10, 5, 8, 4, 2, 1, 6, 3, 7, 9, 10, 5, 8, 4, 2, 1);
$checksum = array('1', '0', 'X', '9', '8', '7', '6', '5', '4', '3', '2');
$sum = 0;
for ($i = 0; $i < 17; $i++) {
$sum += $idCard[$i] * $factor[$i];
}
$mod = $sum % 11;
if ($checksum[$mod] != $idCard[17]) {
return false;
}
return true;
}
使用以上任意一种方式,可以通过传入身份证号码调用 validateIdCard 函数来检测身份证的有效性。
上一篇:php if某为空
下一篇:php 关联数组 修改
Laravel PHP 深圳智简公司。版权所有©2023-2043 LaravelPHP 粤ICP备2021048745号-3
Laravel 中文站