> php教程 > PHP源码 > 判断是否是身份证号

判断是否是身份证号

PHP中文网
풀어 주다: 2016-05-23 16:38:58
원래의
1529명이 탐색했습니다.

判断是否是身份证号

function isIdCard($number) { // 检查是否是身份证号
   $number = getIDCard($number);
   // 转化为大写,如出现x
   $number = strtoupper($number);
   //加权因子
   $wi = array(7, 9, 10, 5, 8, 4, 2, 1, 6, 3, 7, 9, 10, 5, 8, 4, 2);
   //校验码串
   $ai = array('1', '0', 'X', '9', '8', '7', '6', '5', '4', '3', '2');
   //按顺序循环处理前17位
   $sigma = 0;
   for ($i = 0;$i < 17;$i++) {
    //提取前17位的其中一位,并将变量类型转为实数
    $b = (int) $number{$i};
 
    //提取相应的加权因子
    $w = $wi[$i];
 
    //把从身份证号码中提取的一位数字和加权因子相乘,并累加
    $sigma += $b * $w;
   }
   //计算序号
   $snumber = $sigma % 11;
 
   //按照序号从校验码串中提取相应的字符。
   $check_number = $ai[$snumber];
 
   if ($number{17} == $check_number) {
    return true;
   } else {
    return false;
   }
}
로그인 후 복사


관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
최신 이슈
인기 추천
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿