PHP身份证号码验证
PHP身份证验证
/**
* 验证身份证是否有效
* @param type $sid
*/
private function check_IDCard($sid) {
if (strlen($sid) != 15 && strlen($sid) != 18) {
//如果位数不符合15 或者18
return FALSE;
}
if (strlen($sid) == 15) {
$wi = array(7, 9, 10, 5, 8, 4, 2, 1, 6, 3, 7, 9, 10, 5, 8, 4, 2, 1);
$sid = substr_replace($sid, 19, 6, 0);
$count = array();
$sid[17] = 0; //定义第18位
for ($i = 0; $i < 17; ++$i) {
$count[] = $sid[$i] * $wi[$i];
}
$sum = array_sum($count) % 11;
$zuihou = array('1', '0', 'X', '9', '8', '7', '6', '5', '4', '3', '2');
$sid = substr_replace($sid, $zuihou[$sum], 17, 1);
}
$wi18 = array(7, 9, 10, 5, 8, 4, 2, 1, 6, 3, 7, 9, 10, 5, 8, 4, 2);
$sum2 = array();
for ($j = 0; $j < 17; $j++) {
$sum2[] = $sid[$j] * $wi18[$j];
}
$sum2 = array_sum($sum2) % 11;
$yz = array('1', '0', 'X', '9', '8', '7', '6', '5', '4', '3', '2');
if ($yz[$sum2] == $sid[17]) {
//如果最后一位和验证号一样,则返回真
return TRUE;
} else {
return false;
}
}
微信扫描下方的二维码阅读本文
阅读剩余
版权声明:
标题:PHP身份证号码验证
作者:admin
链接:https://www.kmtky.com/317.html
文章版权归作者所有,未经允许请勿转载。
声明:仅供内部测试和技术交流使用,任何非法商业使用及商业利益冲突带来的法律纠纷,与本人无关,本人概不负责,请下载后24小时内删除,谢谢合作!如有侵权请于作者联系,尽快删除。
标题:PHP身份证号码验证
作者:admin
链接:https://www.kmtky.com/317.html
文章版权归作者所有,未经允许请勿转载。
声明:仅供内部测试和技术交流使用,任何非法商业使用及商业利益冲突带来的法律纠纷,与本人无关,本人概不负责,请下载后24小时内删除,谢谢合作!如有侵权请于作者联系,尽快删除。
THE END