15/18位身份证号码验证
在做身份证验证之前你得明确身份证号的组成。
18位身份证号码含义:
1至6位代表行政归属,7至14位代表出生年月日,15至18代表检测码和性别。
15~17位是派出所尾码,第18位是校验码 。
第17位单数是男人,偶数是女人。
正则表达式:(^\d{15}$)|(^\d{18}$)|(^\d{17}(\d|X|x)$)
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>Insert title here</title> </head> <script type="text/javascript"> function isCardNo(card) //card为input的ID属性值 { // 身份证号码为15位或者18位,15位时全为数字,18位前17位为数字,最后一位是校验位,可能为数字或字符X var reg = /(^\d{15}$)|(^\d{18}$)|(^\d{17}(\d|X|x)$)/; if(reg.test(card.value) === false) { alert("身份证输入不合法"); return false; } } </script> <body> 证件号:<input id="card" type="text" placeholder="请输入身份证号码" οnchange="isCardNo(card)"> </body> </html>