<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 々上善若水々 閱讀(839) 評論(0)  編輯  收藏 所屬分類: JavaScript

    主站蜘蛛池模板: 亚洲成aⅴ人在线观看| 亚洲午夜日韩高清一区| 亚洲黄色免费网站| 叮咚影视在线观看免费完整版| 免费一区二区视频| 免费人成又黄又爽的视频在线电影| 成全影视免费观看大全二| 亚洲精彩视频在线观看| 永久在线观看www免费视频| 久久精品国产亚洲AV无码麻豆| 18禁美女黄网站色大片免费观看| 亚洲黄色网址大全| 免费观看AV片在线播放| 亚洲人成www在线播放| 在线免费观看一级毛片| 国产精品亚洲AV三区| 亚洲国产一区二区三区| 国产一级一毛免费黄片| 亚洲AV无一区二区三区久久| 99精品视频免费在线观看| 亚洲国产精品无码久久久| 最近免费中文字幕大全视频| 精品国产亚洲第一区二区三区| 亚洲国产婷婷综合在线精品| 国内精品99亚洲免费高清| 久久久国产精品亚洲一区| 在线视频免费观看高清| 国产成人精品亚洲| 亚洲精品国精品久久99热一| 91免费国产自产地址入| 亚洲爆乳无码专区www| 中文字幕亚洲第一| 在线观看的免费网站无遮挡| 亚洲第一成年网站视频| 亚洲色精品vr一区二区三区| 1000部无遮挡拍拍拍免费视频观看| 亚洲AV成人无码网天堂| 亚洲国产精品无码久久一线| 久久精品女人天堂AV免费观看| xxxxx做受大片视频免费| 亚洲色偷偷偷网站色偷一区|