zoukankan      html  css  js  c++  java
  • JS验证身份证号是否合法

    demo代码:

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Document</title>
    </head>
    <body>
        <input type="text" name="idcard" id="idcard">
        <span></span>
    </body>
    </html>
    <script type="text/javascript" src="jquery.js"></script>
    <script type="text/javascript">
    $(function () {

        $("#idcard").on('blur',function () {
            var idcard = $(this).val();          // 身份证号字符串
            idcardArr = idcard.split('');                          // 分割成身份证号数组
            var _length = idcardArr.length;                        // 身份证号长度
            var arr = [7,9,10,5,8,4,2,1,6,3,7,9,10,5,8,4,2];    // 加权因子(不可变)
            var yan = [1,0,'X',9,8,7,6,5,4,3,2];                       // 校验码    (不可变)
            var str = 0;
            for (var i = 0; i < _length-1; i++) {
                str = parseInt(str+idcard[i]*arr[i]);                  // 计算求和
            }
            var _yu = str % 11;                                             // 取余
            var _lastnum = yan[_yu];                                   // 最后一位数

            if (idcardArr[_length-1] == _lastnum) {    // 判断是否相同
                $(this).next().html('<font color=green>√</font>');
                return true;
            }else{
                $(this).next().html('<font color=red size=2>×</font>');
                return false;
            }

        })
    })    
    </script>

    -------------------------------------------------------------------------------------------------

    以下为php实现代码:

    <?php
     $cardid="身份证号";
     $len=strlen($cardid);

     //加权
     $arr=array(7,9,10,5,8,4,2,1,6,3,7,9,10,5,8,4,2);
     $str=0;
    for ($i=0; $i <$len-1 ; $i++) {
         $substr=substr($cardid,$i,1);

        $str=$str+$substr*$arr[$i];
    }

     $str=$str%11;
     $array=array(0=>1,1=>0,2=>"x",3=>9,4=>8,5=>7,6=>6,7=>5,8=>4,9=>3,10=>2);
     $yu=$array[$str];
     if($yu==substr($cardid,17,18)){
        echo "正确";
     }else{
         echo "失败";
     }

  • 相关阅读:
    Xamarin Layout属性(转)
    Oracle基础
    tableViewNestTableView(tableView嵌套collectionView)
    抓包工具Fiddler的使用教程(五): 修改response的数据 .
    Web调试利器fiddler
    SQLServer光标
    SQLServer触发器
    web端功能测试总结(一)
    web功能测试
    test zlj
  • 原文地址:https://www.cnblogs.com/lpblogs/p/7289422.html
Copyright © 2011-2022 走看看