博客列表 >phpidcard获取年龄性别

phpidcard获取年龄性别

从化大只佬
从化大只佬原创
2018年08月13日 11:48:031029浏览

function isIdCard($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];     //把从idcard号码中提取的一位数字和加权因子相乘,并累加

        $sigma += $b * $w;

    }

    //计算序号

    $snumber = $sigma % 11;

    //按照序号从校验码串中提取相应的字符。

    $check_number = $ai[$snumber];

    if($number{17} == $check_number){ 

        return true;

    }else{

        return false;

    }

}

声明:本文内容转载自脚本之家,由网友自发贡献,版权归原作者所有,如您发现涉嫌抄袭侵权,请联系admin@php.cn 核实处理。
全部评论
文明上网理性发言,请遵守新闻评论服务协议