• 技术文章 >php教程 >PHP源码

    判断是否是身份证号

    PHP中文网PHP中文网2016-05-23 16:38:58原创818
    判断是否是身份证号

    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;
       }
    }
    声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。
    专题推荐:判断 否是 身份证号
    上一篇:通过PHP脚本自动部署GIT项目 下一篇:php简单异或运算|php 简单异或|php异或|php xor
    PHP编程就业班

    相关文章推荐

    • 剖析PHP中的输出缓冲 flush之类• php截取中文字符串不乱码的方法_php实例• php 多种无限分类实例• PHP删除非空目录函数• 动态网页制作PHP常用的正则表达式

    全部评论我要评论

  • 取消发布评论发送
  • 1/1

    PHP中文网