判斷身份證號是否正確使用的是正則,Java與js中使用正則的方式大差不差,下面是Java通過正則判斷身份證號是否正確的
* */
@Test
public void cardId() {
System.out.println("身份證號:");
String s = "61011319780908211x";
String regex = "\\d{15}|\\d{17}[\\dxX]";
//
if(s.matches(regex)) {
System.out.println("格式正確");
}else {
System.out.println("格式錯誤");
}
}
js中通過正則判斷身份證號的寫法如下:
var cardId=/^[1-9][0-9]{5}(19|20)[0-9]{2}((01|03|05|07|08|10|12)(0[1-9]|[1-2][0-9]|31)|(04|06|09|11)(0[1-9]|[1-2][0-9]|30)|02(0[1-9]|[1-2][0-9]))[0-9]{3}([0-9]|x|X)$/;
var aa = "41110920090908900x";
if(cardId.test(aa)){
console.log("正確")
}else{
console.log("格式不正確")
}
正則常用的特殊表達式

