zoukankan      html  css  js  c++  java
  • JS 验证身份证号码的正确性

     1 function isTrueValidateCodeBy18IdCard(idCard) {  
     2                 var a_idCard = idCard.split("");// 
     3                 /*
     4                  *    var Wi = [ 7, 9, 10, 5, 8, 4, 2, 1, 6, 3, 7, 9, 10, 5, 8, 4, 2, 1 ];//    
     5                  *    var ValideCode = [ 1, 0, 10, 9, 8, 7, 6, 5, 4, 3, 2 ];//   
     6                  *    此种数组表示时候于IE9以上的浏览器(Firefox,Chrome,Safari等未测试)。
     7                  *  下述方法可用于IE8 版本(IE8一下未测试- -!)。IE不支持强制数组操作
     8                 */
     9                 var Wi = new Array( 7, 9, 10, 5, 8, 4, 2, 1, 6, 3, 7, 9, 10, 5, 8, 4, 2, 1 );// 加权因子   
    10                 var ValideCode = new Array( 1, 0, 10, 9, 8, 7, 6, 5, 4, 3, 2 );// 身份证验证位值.10代表X     
    11                 var sum = 0; // 声明加权求和变量   
    12                 if ((a_idCard[17] == 'x')||(a_idCard[17] == 'X')) {   
    13                     a_idCard[17] = 10;// 将最后位为x的验证码替换为10方便后续操作   
    14                 }   
    15                 for ( var i = 0; i < 17; i++) {   
    16                     sum += Wi[i] * a_idCard[i];// 加权求和   
    17                 }   
    18                 valCodePosition = sum % 11;// 得到验证码所位置   
    19                 if (a_idCard[17] != ValideCode[valCodePosition]) {
    20                      alert("您的身份证号码最后一位校验码不正确,请重新输入");21                     return false;
    22                 }   
    23                 else{
    24                     return true;
    25                 }  
    26             }
  • 相关阅读:
    celery
    KeyError: 'pass_ticket'
    Go语言标准库之context
    Go语言标准库之log
    Go语言标准库之time
    Go语言基础之Cookie和Session
    #if...#endif的用法总结
    汇总#pragma用法
    Linux串口编程(转载)
    Linux系统调用(转载)
  • 原文地址:https://www.cnblogs.com/wanhl/p/3023767.html
Copyright © 2011-2022 走看看