資源描述:
《全國身份證及港澳臺身份證驗證js代碼、函數(shù)》由會員上傳分享,免費在線閱讀,更多相關(guān)內(nèi)容在應(yīng)用文檔-天天文庫。
1、//988058查號網(wǎng),騙子號碼查詢(http://www.988058.com)//一下是驗證身份證號碼的js函數(shù)functioncheckIdcard(idcard){varErrors=newArray("驗證通過!","身份證號碼位數(shù)不對!","身份證號碼出生日期超出范圍或含有非法字符!","身份證號碼校驗錯誤!","身份證地區(qū)非法!");vararea={11:"北京",12:"天津",13:"河北",14:"山西",15:"內(nèi)蒙古",21:"遼寧",22:"吉林",23:"黑龍江",31:"上海",32:"江蘇",33:"浙江
2、",34:"安徽",35:"福建",36:"江西",37:"山東",41:"河南",42:"湖北",43:"湖南",44:"廣東",45:"廣西",46:"海南",50:"重慶",51:"四川",52:"貴州",53:"云南",54:"西藏",61:"陜西",62:"甘肅",63:"青海",64:"寧夏",65:"新疆",71:"臺灣",81:"香港",82:"澳門",91:"國外"}varretflag=false;varidcard,Y,JYM;varS,M;varidcard_array=newArray();idcard_arra
3、y=idcard.split("");//地區(qū)檢驗if(area[parseInt(idcard.substr(0,2))]==null)returnErrors[4];//身份號碼位數(shù)及格式檢驗switch(idcard.length){case15:if((parseInt(idcard.substr(6,2))+1900)%4==0
4、
5、((parseInt(idcard.substr(6,2))+1900)%100==0&&(parseInt(idcard.substr(6,2))+1900)%4==0)){ereg=/^[1-9]
6、[0-9]{5}[0-9]{2}((01
7、03
8、05
9、07
10、08
11、10
12、12)(0[1-9]
13、[1-2][0-9]
14、3[0-1])
15、(04
16、06
17、09
18、11)(0[1-9]
19、[1-2][0-9]
20、30)
21、02(0[1-9]
22、[1-2][0-9]))[0-9]{3}$/;//測試出生日期的合法性}else{ereg=/^[1-9][0-9]{5}[0-9]{2}((01
23、03
24、05
25、07
26、08
27、10
28、12)(0[1-9]
29、[1-2][0-9]
30、3[0-1])
31、(04
32、06
33、09
34、11)(0[1-9]
35、[1-2][0-9]
36、30)
37、02(0[
38、1-9]
39、1[0-9]
40、2[0-8]))[0-9]{3}$/;//測試出生日期的合法性}if(ereg.test(idcard))returnErrors[0];else{returnErrors[2];}break;case18://18位身份號碼檢測//出生日期的合法性檢查//閏年月日:((01
41、03
42、05
43、07
44、08
45、10
46、12)(0[1-9]
47、[1-2][0-9]
48、3[0-1])
49、(04
50、06
51、09
52、11)(0[1-9]
53、[1-2][0-9]
54、30)
55、02(0[1-9]
56、[1-2][0-9]))//平年月日:((01
57、03
58、05
59、
60、07
61、08
62、10
63、12)(0[1-9]
64、[1-2][0-9]
65、3[0-1])
66、(04
67、06
68、09
69、11)(0[1-9]
70、[1-2][0-9]
71、30)
72、02(0[1-9]
73、1[0-9]
74、2[0-8]))if(parseInt(idcard.substr(6,4))%4==0
75、
76、(parseInt(idcard.substr(6,4))%100==0&&parseInt(idcard.substr(6,4))%4==0)){ereg=/^[1-9][0-9]{5}19[0-9]{2}((01
77、03
78、05
79、07
80、08
81、10
82、12)(0[1-9]
83、
84、[1-2][0-9]
85、3[0-1])
86、(04
87、06
88、09
89、11)(0[1-9]
90、[1-2][0-9]
91、30)
92、02(0[1-9]
93、[1-2][0-9]))[0-9]{3}[0-9Xx]$/;//閏年出生日期的合法性正則表達式}else{ereg=/^[1-9][0-9]{5}19[0-9]{2}((01
94、03
95、05
96、07
97、08
98、10
99、12)(0[1-9]
100、[1-2][0-9]
101、3[0-1])
102、(04
103、06
104、09
105、11)(0[1-9]
106、[1-2][0-9]
107、30)
108、02(0[1-9]
109、1[0-9]
110、2[0-8]))[0-9]{3}[0-9
111、Xx]$/;//平年出生日期的合法性正則表達式}if(ereg.test(idcard)){//測試出生日期的合法性//計算校驗位S=(parseInt(idcard_array[0])+pa