判断身份证号是否正确使用的是正则,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("格式不正确")      
}

  正则常用的特殊表达式

  

java 验证身份证号 java身份证检验正则_Java