這不是乙個簡單的18位身份證正規表示式,這是包含計算規則的身份證號碼驗證**。
可以直接使用,返回的是 true 或 false
/**
* 校驗身份證號碼有效性
* @param cardno 身份證號碼
* @param b (可選)出生日期,格式為:yyyy-mm-dd
* @param g (可選)性別,1為男,2為女
*/function _valididcard(cardno, b, g) )\d(((\d)(\d)(\d)(\d))|((\d)(\d)(\d)((\d)[x\d])))$/i);
if(re == null) return false;
if(re[1] >= area.length || area[re[1]] == "") return false;
if(re[2].length == 12) else
if(g && g != "" && (gender % 2 != g % 2)) return false;
if(b && b != "" && b != birthday) return false;
re = birthday.match(/^((19|20)\d)[-](\d)[-](\d)$/);
let year = re[1];
let month = re[3] * 1 - 1;
let day = re[4];
date = new date(year, month, day);
if(typeof date != "object" || date.getfullyear() != year || date.getmonth() != month || date.getdate() != day) return false;
let sum = 0;
for(let i = 0; i <= 16; i++)
ai += verify.charat(sum%11);
return (cardno.length == 15 || cardno.length == 18 && cardno == ai);
};
身份證號碼嚴格驗證
function iscardno num katex parse error undefined control sequence d at position 5 d 0 9 x test num 校驗位按照iso 7064 1983.mod 11 2的規定生成,x可以認為是數字10。下面分別分析...
身份證號碼驗證,超嚴格
身份證省的編碼 var vcity 檢查號碼是否符合規範,包括長度,型別 function iscardno card d d x if reg.test card false return true 取身份證前兩位,校驗省份 function checkprovince card return t...
JS校驗身份證號碼
function isidcardno num d 0 9 x test num 驗證前2位,城市符合 var acity if acity parseint num.substr 0,2 null alert 城市 acity parseint num.substr 0,2 下面分別分析出生日期和...