HTML5 提供了一个新的表单验证属性,可以用来验证身份证。这个属性是 pattern
,可以通过正则表达式来验证输入的内容。
以下是一个使用 pattern
属性来验证身份证的例子:
<form>
<label for="idCard">身份证号码:</label><br>
<input type="text" id="idCard" name="idCard" pattern="^[1-9]\d{5}(18|19|20)?\d{2}(0[1-9]|1[0-2])(0[1-9]|[12]\d|3[01])\d{3}(\d|[Xx])$" title="请输入正确的身份证号码" required>
<input type="submit">
</form>
在这个例子中,pattern
属性的值是一个正则表达式,用于匹配身份证号码。正则表达式的规则是:
- 第一位数字为1-9;
- 接下来是任意多个数字\d;
- 然后是6位数字,可能是18, 19, 20开头(为了适应21世纪);
- 接下来是月份和日期的验证,格式为(0[1-9]|1[0-2])(0[1-9]|[12]\d|3[01]);
- 后面是任意的数字和X/x;
- 最后是3位数字。
当用户提交表单时,如果输入的身份证号码不符合正则表达式规则,浏览器会显示一个错误信息,并且阻止表单的提交。如果输入正确,表单会被发送到服务器。