一、先做一張簡(jiǎn)單的網(wǎng)頁(yè)。
二、加上相應(yīng)的JAVAcript代碼。
三、開始測(cè)試,判斷輸入框內(nèi)的是否是6位數(shù)字。
四、判斷輸入框內(nèi)為正整數(shù),而不是負(fù)數(shù)。
五、判斷身份證位數(shù)吧,這里15位和18位的身份證都可以判斷,只是x結(jié)尾的沒(méi)做判斷。
六、這里我不只判斷位數(shù),還有判斷規(guī)則,長(zhǎng)了點(diǎn),慢慢消化。
- ^[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]$
- 太長(zhǎng)了,我們一截一截看。
- [1-9]第一位是1到9的數(shù)字
- 例:4
- d{5}第二位往后5位是數(shù)字
- 例:452122
- (18|19|([23]d))分別是18或19或2和3開頭的兩位數(shù)
- 例:45212219
- d{2}是任意兩位數(shù)
- 例:4521221995
- ((0[1-9])|(10|11|12))這里月份占兩位數(shù)
- 例:452122199505
- (([0-2][1-9])|10|20|30|31)這里是日占兩位數(shù)
- 例:45212219950523
- d{3}[0-9Xx]這里是四位,最后一位可以是x或X
- 例:452122199505236615
- 七、再做一個(gè)簡(jiǎn)單的月份判斷。
- ^(0?[1-9]|1[0-2])$
- 0?[1-9]?的意思是0可有可沒(méi)有
- 例:你輸入3和03都是正確的
- 1[0-2]是10或11或12
- 中間那條豎線是或的意思
更多的正則表達(dá)式,有機(jī)會(huì)再和大家探討。
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
</head>
<body>
<input type="text" id="inp">
<button onclick="testinp()">測(cè)試</button>
<p id="resval"></p>
<!-- 一個(gè)輸入框,一個(gè)按鈕,一個(gè)返回結(jié)果的p標(biāo)簽 -->
<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 = "錯(cuò)誤";
}
</script>
</body>
</html>
標(biāo)簽:javascript<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
</head>
<body>
<input type="text" id="inp">
<button onclick="testinp()">測(cè)試</button>
<p id="resval"></p>
<!-- 一個(gè)輸入框,一個(gè)按鈕,一個(gè)返回結(jié)果的p標(biāo)簽 -->
<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 = "錯(cuò)誤";
}
</script>
</body>
</html>