如何使用Js正则表达式进行if判断

如何在js使用正则表达式

今天博主在做一个小demo的时候,遇到一个判断,就是判断输入不可为1-9的数字,结果一开始准备用判断,回头一想感觉好蠢啊!!!!

真的是!!!那样就得写9个条件语句,超级愚蠢!!!!


如何使用Js正则表达式进行if判断_第1张图片
于是,在灵机一动一动动下,我想到之前好像学过一个正则表达式。但是呢!!!
我好像已经忘得差不多了…
如何使用Js正则表达式进行if判断_第2张图片
于是没得办法,翻开笔记本打开百度,稍微看了下还是想起来怎么用了!!这就废话不多说来点干料!!!!




首先就是大概说下这是个啥,怎么用的!


根据博主自我理解哈,就是一个js的内置对象,供你进行一些判断,简单来说就是别人已经封装好了,你直接拿着用就行,就是大部分判断都是可以用正则来实现,比如什么非空、输入必须是中文、英文或者是数字,又或者是判断年龄的。反正就是文本类判断都是可以实现。阔以说是非常的biu特佛!!!

如何使用Js正则表达式进行if判断_第3张图片
常用的正则表达式运算符

1.\ : 将下一个字符标记为一个特殊字符、或一个原义字符、或一个 向后引用、或一个八进制转义符。例如,‘n’ 匹配字符 “n”。‘n’ 匹配一个换行符。序列 ‘’ 匹配 “” 而 “(” 则匹配 “(”。

2.^:匹配输入字符串的开始位置。如果设置了 RegExp 对象的 Multiline 属性,^ 也匹配 ‘n’ 或 ‘r’ 之后的位置。

3. : 匹 配 输 入 字 符 串 的 结 束 位 置 。 如 果 设 置 了 R e g E x p 对 象 的 M u l t i l i n e 属 性 , :匹配输入字符串的结束位置。如果设置了RegExp 对象的 Multiline 属性, RegExpMultiline 也匹配 ‘n’ 或 ‘r’ 之前的位置。

4.*:匹配前面的子表达式零次或多次。例如,zo 能匹配 “z” 以及 “zoo”。 等价于{0,}。

5.+:匹配前面的子表达式一次或多次。例如,‘zo+’ 能匹配 “zo” 以及 “zoo”,但不能匹配 “z”。+ 等价于 {1,}。

6.?:匹配前面的子表达式零次或一次。例如,“do(es)?” 可以匹配 “do” 或 “does” 中的"do" 。? 等价于 {0,1}。

7.{n}:n 是一个非负整数。匹配确定的 n 次。例如,‘o{2}’ 不能匹配 “Bob” 中的 ‘o’,但是能匹配 “food” 中的两个 o。

8.{n,}:n 是一个非负整数。至少匹配n 次。例如,‘o{2,}’ 不能匹配 “Bob” 中的 ‘o’,但能匹配 “foooood” 中的所有 o。‘o{1,}’ 等价于 ‘o+’。‘o{0,}’ 则等价于 ‘o*’。

9.{n,m}:m 和 n 均为非负整数,其中n <= m。最少匹配 n 次且最多匹配 m 次。例如,“o{1,3}” 将匹配 “fooooood” 中的前三个 o。‘o{0,1}’ 等价于 ‘o?’。请注意在逗号和两个数之间不能有空格。

10.?:当该字符紧跟在任何一个其他限制符 (*, +, ?, {n}, {n,}, {n,m}) 后面时,匹配模式是非贪婪的。非贪婪模式尽可能少的匹配所搜索的字符串,而默认的贪婪模式则尽可能多的匹配所搜索的字符串。例如,对于字符串 “oooo”,‘o+?’ 将匹配单个 “o”,而 ‘o+’ 将匹配所有 ‘o’。

11.·:匹配除 “n” 之外的任何单个字符。要匹配包括 ‘n’ 在内的任何字符,请使用象 ‘[.n]’ 的模式。

仔细看完上面的文档你差不多就懂了一半了,废话不多说直接开冲!!

1、当我需要判断我不能输入1-9的时候

var huo = info[i].DepartmentID;//获取单个id
                var ze = /^[1-9]{1}$/;//判断1-9出现是否出现1次
                if (!ze.test(huo))//!的意思就是这个条件返回否,也就是false
                {
                    console.log("您输入属于1-9以外!");
                }
               

2、判断输入是否为2-6个中文!

var names = document.getElementById("txtname").value; //获取你所填写的信息
            var ze= /^[\u4e00-\u9fa5]{2,6}$/;  //定义约束,要求输入2到6个中文
            if (!ze.test(names)) {   //判断
               alert("请输入2~6个汉字!"); //输入不合规范
              
            }

[\u4e00-\u9fa5] 在这里的意思就是输入为中文
大致就是这样了,正则就像是积木,你怎么搭他就怎么判断!
一种判断可以有n种写法,剩下的就留大家自己慢慢组合咯!!

如何使用Js正则表达式进行if判断_第4张图片

你可能感兴趣的:(js基础,javascript)