大陸 港澳台身份證 護照 軍官證的正規表示式

2021-09-25 22:06:54 字數 1685 閱讀 1121

最近工作因為工作需要,有乙個身份驗證需要前端驗證大陸、港澳台身份證、護照、軍官證號碼的合法性。

初步整理了一下各個驗證的正規表示式,如有錯誤請大家指出,謝謝!

idcardvalid(id) (([1][9]\d)|([2]\d))(([0][1-9])|([1][0-2]))(([0][1-9])|([1-2][0-9])|([3][0-1]))\d[0-9xx]$/;

//號碼規則校驗

if (!format.test(id)) ;

}//區位碼校驗

//出生年月日校驗 前正則限制起始年份為1900;

var year = id.substr(6, 4),//身份證年

month = id.substr(10, 2),//身份證月

date = id.substr(12, 2),//身份證日

time = date.parse(month + '-' + date + '-' + year),//身份證日期時間戳date

now_time = date.parse(new date()),//當前時間戳

dates = (new date(year, month, 0)).getdate();//身份證當月天數

if (time > now_time || date > dates)

}//校驗碼判斷

var c = new array(7, 9, 10, 5, 8, 4, 2, 1, 6, 3, 7, 9, 10, 5, 8, 4, 2); //係數

var b = new array('1', '0', 'x', '9', '8', '7', '6', '5', '4', '3', '2'); //校驗碼對照表

var id_array = id.split("");

var sum = 0;

for (var k = 0; k < 17; k++)

if (id_array[17].touppercase() != b[sum % 11].touppercase())

}return

},

ishkcard(card) (\(\w\))?)$/;

if (reg.test(card) === false) ;

} else ;

}},

istwcard(card) |^[a-za-z0-9]|^\d$/;

if (reg.test(card) === false) ;

} else ;

}},

ispassportcard(card) $/;

if (reg.test(card) === false) ;

} else ;

}},

isofficercard(card) )(號?)$/;

if (reg.test(card) === false) ;

} else ;

}},

isaccountcard(card) $)|(^\d$)|(^\d(\d|x|x)$)/;

if (reg.test(card) === false) ;

} else ;

}}

身份證校驗的正規表示式

1 簡單的正規表示式 1 preg match d d dx id card 2 preg match d 18 19 20 d 01 d 0123 d d d x id card 3 preg match d d d x x id card 2 複雜並且嚴格一些的驗證 這個可以驗證15位和18位的...

正規表示式 郵箱 身份證的驗證

要嚴格的驗證手機號碼,必須先要清楚現在已經開放了哪些數字開頭的號碼段,目前國內號碼段分配如下 移動 134 135 136 137 138 139 150 151 157 td 158 159 187 188 聯通 130 131 132 152 155 156 185 186 電信 133 153...

驗證身份證的正規表示式包括15,18 位

身份證正規表示式 15位 isidcard1 1 9 d 0 d 1 0 2 0 1 2 d 3 0 1 d 身份證正規表示式 18位 isidcard2 1 9 d 1 9 d 0 d 1 0 2 0 1 2 d 3 0 1 d 1 簡單的正規表示式 1 preg match d d dx id ...