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

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

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

    即興的靈感

    思維是一種藝術(shù); 藝術(shù)需要靈感。

    博客好友

    最新評(píng)論

    JavaScript(JS)驗(yàn)證身份證

    使用JavaScript驗(yàn)證身份證的代碼如下:

    將代碼放到JS直接調(diào)用即可應(yīng)用到網(wǎng)頁中。
    ?1?<script>
    ?2??function ?checkIdcard(idcard1){
    ?3??var?idcard=document.forms[0
    ].elements[idcard1].value;
    ?4??var?Errors=new
    ?Array(
    ?5??"驗(yàn)證通過!"
    ,
    ?6??"身份證號(hào)碼位數(shù)不對(duì)!"
    ,
    ?7??"身份證號(hào)碼出生日期超出范圍或含有非法字符!"
    ,
    ?8??"身份證號(hào)碼校驗(yàn)錯(cuò)誤!"
    ,
    ?9??"身份證地區(qū)非法!"

    10? ?);
    11??var?area?={11:"北京",12:"天津",13:"河北",14:"山西",15:"內(nèi)蒙古",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:"臺(tái)灣",81:"香港",82:"澳門",91:"國外"
    }?
    12?
    ?
    13??var
    ?idcard,Y,JYM;
    14??var
    ?S,M;
    15??var?idcard_array?=?new
    ?Array();
    16??idcard_array?=?idcard.split(""
    );
    17??/*地區(qū)檢驗(yàn)*/

    18??if(area[parseInt(idcard.substr(0,2))]==null )?
    19?
    ?{
    20???alert(Errors[4
    ]);?
    21???return?false
    ;
    22?
    ?}
    23??/*身份號(hào)碼位數(shù)及格式檢驗(yàn)*/

    24??switch (idcard.length){
    25???case?15
    :
    26???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
    ?)){
    27????ereg?=/^[1-9][0-9]{5}[0-9]{2}((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]{3}$/;//?測試出生日期的合法性

    28???}?else ?{
    29????ereg=/^[1-9][0-9]{5}[0-9]{2}((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]{3}$/;//測試出生日期的合法性

    30? ??}
    31???if
    (ereg.test(idcard)){
    32?????alert(Errors[0]+"15"
    );?
    33?????return?false
    ;
    34?
    ???}
    35???else
    ?{
    36?????alert(Errors[2
    ]);
    37??????return?false
    ;
    38?
    ????}
    39???break
    ;
    40?
    ??
    41???case?18
    :
    42???//18位身份號(hào)碼檢測

    43???//出生日期的合法性檢查?
    44???//閏年月日:((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]))
    45???//平年月日:((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]))
    46???if?(?parseInt(idcard.substr(6,4))?%?4?==?0?||?(parseInt(idcard.substr(6,4))?%?100?==?0?&&?parseInt(idcard.substr(6,4))%4?==?0 ?)){
    47???ereg?=/^[1-9][0-9]{5}19[0-9]{2}((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]{3}[0-9Xx]?$/;//閏年出生日期的合法性正則表達(dá)式

    48???}?else ?{
    49???ereg=/^[1-9][0-9]{5}19[0-9]{2}((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]{3}[0-9Xx]$/;//平年出生日期的合法性正則表達(dá)式

    50? ??}
    51???if(ereg.test(idcard)){//測試出生日期的合法性

    52????//計(jì)算校驗(yàn)位
    53????S?=?(parseInt(idcard_array[0])?+?parseInt(idcard_array[10]))?*?7
    54????+?(parseInt(idcard_array[1])?+?parseInt(idcard_array[11]))?*?9
    55????+?(parseInt(idcard_array[2])?+?parseInt(idcard_array[12]))?*?10
    56????+?(parseInt(idcard_array[3])?+?parseInt(idcard_array[13]))?*?5
    57????+?(parseInt(idcard_array[4])?+?parseInt(idcard_array[14]))?*?8
    58????+?(parseInt(idcard_array[5])?+?parseInt(idcard_array[15]))?*?4
    59????+?(parseInt(idcard_array[6])?+?parseInt(idcard_array[16]))?*?2
    60????+?parseInt(idcard_array[7])?*?1 ?
    61????+?parseInt(idcard_array[8])?*?6

    62????+?parseInt(idcard_array[9])?*?3 ?;
    63????Y?=?S?%?11
    ;
    64????M?=?"F"
    ;
    65????JYM?=?"10X98765432"
    ;
    66????M?=?JYM.substr(Y,1);/*判斷校驗(yàn)位*/

    67????if(M?==?idcard_array[17 ]){
    68?????alert(Errors[0]+"18"
    );?
    69?????return?false;?/*檢測ID的校驗(yàn)位*/

    70? ???}
    71????else
    ?{
    72?????alert(Errors[3
    ]);?
    73?????return?false
    ;
    74?
    ???}
    75?
    ??}
    76???else
    ?{
    77????alert(Errors[2
    ]);?
    78????return?false
    ;
    79?
    ??}
    80???break
    ;
    81?
    ??
    82???default
    :
    83????alert(Errors[1
    ]);?
    84????return?false
    ;
    85?
    ???
    86?
    ?}
    87?</script
    >




    ?
    鳳凰涅槃/浴火重生/馬不停蹄/只爭朝夕
    ???? 隱姓埋名/低調(diào)華麗/簡單生活/完美人生

    posted on 2008-02-27 16:10 poetguo 閱讀(3162) 評(píng)論(2)  編輯  收藏 所屬分類: JavaScript

    評(píng)論

    # re: 驗(yàn)證身份證 2008-02-27 20:06 魔域私服

    學(xué)習(xí)了```````````希望多出好案例  回復(fù)  更多評(píng)論   

    # re: JavaScript(JS)驗(yàn)證身份證[未登錄] 2013-11-26 16:26 xxx

    腦殘自己不試試嗎  回復(fù)  更多評(píng)論   


    只有注冊(cè)用戶登錄后才能發(fā)表評(píng)論。


    網(wǎng)站導(dǎo)航:
     
    主站蜘蛛池模板: 国产97视频人人做人人爱免费| 亚洲欧洲自拍拍偷综合| 亚洲国产成人影院播放| 深夜久久AAAAA级毛片免费看| 亚洲视频在线观看| 亚洲成a人片在线观看中文动漫| 亚洲无人区一区二区三区| 国产专区一va亚洲v天堂| AV在线播放日韩亚洲欧| 亚洲一区精品无码| 亚洲国产一成人久久精品| 亚洲AV日韩AV天堂久久| 亚洲高清日韩精品第一区| 亚洲五月综合缴情婷婷| 亚洲精品一卡2卡3卡四卡乱码| 亚洲日韩精品无码AV海量| 国产成人亚洲毛片| 国产免费伦精品一区二区三区| 亚洲乱码av中文一区二区| 日韩亚洲人成网站| 9i9精品国产免费久久| 久久精品中文字幕免费| 日韩在线视频播放免费视频完整版| 国产亚洲福利一区二区免费看 | 四虎影视永久免费视频观看| 午夜爱爱免费视频| 又大又硬又爽又粗又快的视频免费| 亚洲成人免费网址| 美女黄网站人色视频免费国产| 免费观看国产小粉嫩喷水| 国产精品亚洲高清一区二区| 久久亚洲精品成人777大小说| 亚洲成a人片在线观看中文!!!| 亚洲午夜福利在线视频| 亚洲国产精品综合久久2007| 亚洲偷自拍另类图片二区| 又硬又粗又长又爽免费看 | 夜夜春亚洲嫩草影院| 亚洲综合一区二区国产精品| 亚洲一区二区三区偷拍女厕| 亚洲一区二区三区高清|