javascript简单的正则表达式应用

一、先做一张简单的网页。

 


 

二、加上相应的cript代码。

 

三、开始测试,判断输入框内的是否是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 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>
 胜象大百科