<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    我的漫漫程序之旅

    專注于JavaWeb開發
    隨筆 - 39, 文章 - 310, 評論 - 411, 引用 - 0
    數據加載中……

    驗證身份證的完整函數

    /*驗證身份證的完整函數(限中國)*/
    function checkIdcard(idcard)

    var Errors=new Array( 
    "驗證通過!"
    "身份證號碼位數不對!"
    "身份證號碼出生*期超出范圍或含有非法字符!"
    "身份證號碼校驗錯誤!"
    "身份證地區非法!" 
    ); 
    var area={11:"北京",12:"天津",13:"河北",14:"山西",15:"內蒙古",21:"遼寧",22:"吉林",23:"黑龍江",31:"上海",32:"江蘇",33:"浙江",34:"安徽",35:"福建",36:"江西",37:"山東",41:"河南",42:"湖北",43:"湖南",44:"廣東",45:"廣西",46:"海南",50:"重慶",51:"四川",52:"貴州",53:"云南",54:"西藏",61:"陜西",62:"甘肅",63:"青海",64:"寧夏",65:"新疆",71:"臺灣",81:"香港",82:"澳門",91:"國外"}

    var idcard,Y,JYM; 
    var S,M; 
    var idcard_array = new Array(); 
    idcard_array 
    = idcard.split(""); 
    //地區檢驗 
    if(area[parseInt(idcard.substr(0,2))]==nullreturn Errors[4]; 
    //身份號碼位數及格式檢驗 
    switch(idcard.length)
    case 15
    if ( (parseInt(idcard.substr(6,2))+1900% 4 == 0 || ((parseInt(idcard.substr(6,2))+1900% 100 == 0 && (parseInt(idcard.substr(6,2))+1900% 4 == 0 ))
    ereg
    =/^[1-9][0-9][0-9]((01|03|05|07|08|10|12)(0[1-9]|[1-2][0-9]|3[0-1])|(04|06|09|11)(0[1-9]|[1-2][0-9]|30)|02(0[1-9]|[1-2][0-9]))[0-9]$/;//測試出生*期的合法性 
    }
     else 
    ereg
    =/^[1-9][0-9][0-9]((01|03|05|07|08|10|12)(0[1-9]|[1-2][0-9]|3[0-1])|(04|06|09|11)(0[1-9]|[1-2][0-9]|30)|02(0[1-9]|1[0-9]|2[0-8]))[0-9]$/;//測試出生*期的合法性 
    }
     
    if(ereg.test(idcard)) return Errors[0]; 
    else return Errors[2]; 
    break
    case 18
    //18位身份號碼檢測 
    //
    出生*期的合法性檢查  
    //
    閏年月*:((01|03|05|07|08|10|12)(0[1-9]|[1-2][0-9]|3[0-1])|(04|06|09|11)(0[1-9]|[1-2][0-9]|30)|02(0[1-9]|[1-2][0-9])) 
    //
    平年月*:((01|03|05|07|08|10|12)(0[1-9]|[1-2][0-9]|3[0-1])|(04|06|09|11)(0[1-9]|[1-2][0-9]|30)|02(0[1-9]|1[0-9]|2[0-8])) 
    if ( parseInt(idcard.substr(6,4)) % 4 == 0 || (parseInt(idcard.substr(6,4)) % 100 == 0 && parseInt(idcard.substr(6,4))%4 == 0 ))
    ereg
    =/^[1-9][0-9]19[0-9]((01|03|05|07|08|10|12)(0[1-9]|[1-2][0-9]|3[0-1])|(04|06|09|11)(0[1-9]|[1-2][0-9]|30)|02(0[1-9]|[1-2][0-9]))[0-9][0-9Xx]$/;//閏年出生*期的合法性正則表達式 
    }
     else 
    ereg
    =/^[1-9][0-9]19[0-9]((01|03|05|07|08|10|12)(0[1-9]|[1-2][0-9]|3[0-1])|(04|06|09|11)(0[1-9]|[1-2][0-9]|30)|02(0[1-9]|1[0-9]|2[0-8]))[0-9][0-9Xx]$/;//平年出生*期的合法性正則表達式 
    }
     
    if(ereg.test(idcard)){//測試出生*期的合法性 
    //
    計算校驗位 
    = (parseInt(idcard_array[0]) + parseInt(idcard_array[10])) * 7 
    + (parseInt(idcard_array[1]) + parseInt(idcard_array[11])) * 9 
    + (parseInt(idcard_array[2]) + parseInt(idcard_array[12])) * 10 
    + (parseInt(idcard_array[3]) + parseInt(idcard_array[13])) * 5 
    + (parseInt(idcard_array[4]) + parseInt(idcard_array[14])) * 8 
    + (parseInt(idcard_array[5]) + parseInt(idcard_array[15])) * 4 
    + (parseInt(idcard_array[6]) + parseInt(idcard_array[16])) * 2 
    + parseInt(idcard_array[7]) * 1  
    + parseInt(idcard_array[8]) * 6 
    + parseInt(idcard_array[9]) * 3 ; 
    = S % 11
    = "F"
    JYM 
    = "10X98765432"
    = JYM.substr(Y,1);//判斷校驗位 
    if(M == idcard_array[17]) return Errors[0]; //檢測ID的校驗位 
    else return Errors[3]; 
    }
     
    else return Errors[2]; 
    break
    default
    return Errors[1]; 
    break
    }
     

    }
     


    posted on 2008-08-15 13:19 々上善若水々 閱讀(842) 評論(0)  編輯  收藏 所屬分類: JavaScript

    主站蜘蛛池模板: 黄瓜视频影院在线观看免费| 又黄又大的激情视频在线观看免费视频社区在线 | 一区二区无码免费视频网站| 亚洲激情中文字幕| 蜜桃成人无码区免费视频网站 | 亚洲日本久久久午夜精品| 无码区日韩特区永久免费系列| 亚洲精品美女视频| 国内精自视频品线六区免费| 亚洲国产成人精品无码区在线秒播| 最近2019中文字幕免费大全5| 最近更新免费中文字幕大全| 国产精品亚洲玖玖玖在线观看| 免费看一级一级人妻片| 亚洲国产精品综合久久网络| 国产免费福利体检区久久| 亚洲精品V欧洲精品V日韩精品| 大地资源网高清在线观看免费| 亚洲AV无码成人网站久久精品大| 免费A级毛片无码A∨中文字幕下载| 亚洲春色另类小说| 四虎免费大片aⅴ入口| 国产亚洲蜜芽精品久久| 国产亚洲精品影视在线产品| 久久国产精品2020免费m3u8| 亚洲另类自拍丝袜第1页| 日本一道在线日本一道高清不卡免费| 另类小说亚洲色图| 亚洲AV无码成人精品区天堂| 69成人免费视频| 色妞www精品视频免费看| 亚洲精品狼友在线播放| 国产免费的野战视频| 免费在线观看亚洲| 亚洲国产一区二区a毛片| 成年女人色毛片免费看| 黄视频在线观看免费| 亚洲精品福利网泷泽萝拉| 日产乱码一卡二卡三免费| 久久精品成人免费看| 亚洲AV无码专区国产乱码不卡|