专业编程基础技术教程

网站首页 > 基础教程 正文

javascript简单的正则表达式应用「315」

ccvgpt 2024-07-21 17:28:50 基础教程 12 ℃
  • 为了验证我们的正则表达式,我得先做一张简单的网页。
  • 更多的文章请关注我的头条号。

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

二、加上相应的javacript代码。

javascript简单的正则表达式应用「315」

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

最近发表
标签列表