一、先做一张简单的网页。
二、加上相应的JAVAcript代码。
三、开始测试,判断输入框内的是否是6位数字。
四、判断输入框内为正整数,而不是负数。
五、判断身份证位数吧,这里15位和18位的身份证都可以判断,只是x结尾的没做判断。
六、这里我不只判断位数,还有判断规则,长了点,慢慢消化。
- ^[1-9]d{5}(18|19|([23]d))d{2}((0[1-9])|(10|11|12))(([0-2][1-9])|10|20|30|31)d{3}[0-9Xx]$
- 太长了,我们一截一截看。
- [1-9]第一位是1到9的数字
- 例:4
- d{5}第二位往后5位是数字
- 例:452122
- (18|19|([23]d))分别是18或19或2和3开头的两位数
- 例:45212219
- d{2}是任意两位数
- 例:4521221995
- ((0[1-9])|(10|11|12))这里月份占两位数
- 例:452122199505
- (([0-2][1-9])|10|20|30|31)这里是日占两位数
- 例:45212219950523
- d{3}[0-9Xx]这里是四位,最后一位可以是x或X
- 例:452122199505236615
- 七、再做一个简单的月份判断。
- ^(0?[1-9]|1[0-2])$
- 0?[1-9]?的意思是0可有可没有
- 例:你输入3和03都是正确的
- 1[0-2]是10或11或12
- 中间那条竖线是或的意思
更多的正则表达式,有机会再和大家探讨。
<!DOCTYPE
html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
</head>
<body>
<input type="text" id="inp">
<button onclick="testinp()">测试</button>
<p id="resval"></p>
<!-- 一个输入框,一个按钮,一个返回结果的p标签 -->
<script>
var einp = document.querySelector("#inp");
var eres = document.querySelector("#resval");
var testinp = function () {
if (/^(0?[1-9]|1[0-2])$/.test(einp.value)) {
//这里是月份判断
eres.innerHTML = "正确";
} else eres.innerHTML = "错误";
}
</script>
</body>
</html>