本文實(shí)例講述了JS實(shí)現(xiàn)的驗(yàn)證身份證及獲取地區(qū)功能。分享給大家供大家參考,具體如下:
這里的代碼可以用來(lái)驗(yàn)證身份證號(hào),并且根據(jù)身份證號(hào)來(lái)判斷是哪個(gè)省份及性別
代碼示例:
<head > <title></title> <script src="Scripts/jquery-1.4.1.min.js" type="text/javascript"></script></head><body> <form id="form1" > <label> 身份證號(hào):</label><input type="text" id="txtId" /> <input type="button" value="驗(yàn)證" onclick="CheckId()" /> </form></body></html><script type="text/javascript"> //定義地區(qū)數(shù)組 var CityArray = { 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: "國(guó)外" } //驗(yàn)證身份證及返回地區(qū)、出生年月、性別 function CheckIdCard(sId) { if (sId.length == 15) { sId = sId.replace(/([/d]{6})(/d{9})/, "$119$2x"); } var iSum = 0 var info = "" if (!/^/d{17}(/d|x)$/i.test(sId)) return "非法的身份證號(hào)"; sId = sId.replace(/x$/i, "a"); if (CityArray[parseInt(sId.substr(0, 2))] == null) return "Error:非法地區(qū)"; sBirthday = sId.substr(6, 4) + "-" + Number(sId.substr(10, 2)) + "-" + Number(sId.substr(12, 2)); var d = new Date(sBirthday.replace(/-/g, "/")) if (sBirthday != (d.getFullYear() + "-" + (d.getMonth() + 1) + "-" + d.getDate())) return "Error:非法生日"; for (var i = 17; i >= 0; i--) iSum += (Math.pow(2, i) % 11) * parseInt(sId.charAt(17 - i), 11) if (iSum % 11 != 1) return "Error:非法證號(hào)"; return CityArray[parseInt(sId.substr(0, 2))] + "," + sBirthday + "," + (sId.substr(16, 1) % 2 ? "男" : "女") } //調(diào)用驗(yàn)證方法 function CheckId() { var id = $("#txtId").val(); if (id != "") { alert(CheckIdCard(id)); } }</script>
PS:這里再為大家提供2款非常方便的正則表達(dá)式工具供大家參考使用:
JavaScript正則表達(dá)式在線測(cè)試工具:
http://tools.VeVB.COm/regex/javascript
正則表達(dá)式在線生成工具:
http://tools.VeVB.COm/regex/create_reg
更多關(guān)于JavaScript相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《JavaScript正則表達(dá)式技巧大全》、《JavaScript替換操作技巧總結(jié)》、《JavaScript查找算法技巧總結(jié)》、《JavaScript數(shù)據(jù)結(jié)構(gòu)與算法技巧總結(jié)》、《JavaScript遍歷算法與技巧總結(jié)》、《JavaScript中json操作技巧總結(jié)》、《JavaScript錯(cuò)誤與調(diào)試技巧總結(jié)》及《JavaScript數(shù)學(xué)運(yùn)算用法總結(jié)》
希望本文所述對(duì)大家JavaScript程序設(shè)計(jì)有所幫助。
新聞熱點(diǎn)
疑難解答
圖片精選
網(wǎng)友關(guān)注