JS—正则表达式(109~117)

163 阅读2分钟

正则表达式(js的复杂数据类型)

正则表达式大全

常用的 JS正则表达式整理 - 掘金 (juejin.cn)

写法

利用正则表达式来校验表单中的内容

字面量

放在//里

var reg = /abc/

目的是:检查一个字符串中是否包含abc三个字母,且紧密连在一起

内置构造函数

var reg2 = new RegExp("abc") 目的同上


image.png

元字符——基本元字符

1 \d

代表至少包含一位数字(0~9) var reg=/\d/

2. \D

代表至少包含一个非数字

如果有限定包含哪个字母,那就直接在D后把这个字母写出来

3. \s

代表至少一位空白内容(空格,缩进,换行...)

4. \S

代表至少一位非空白内容

5.\w

代表至少包含字母,数字,下划线的一个

6.\W

包含一位非字母,数字,下划线

7. .点

包含任意一位内容就行(不包括换行)(即只要不全是换行符就可)

8.\反斜杠

转义字符

元字符——边界符

1.^\d尖角号

开头必须是一个数字

2.\d$ dollar符

结尾必须是一个数字

3.^开头结尾都限制$

元字符——限定符(至多至少的范围)

TIP: 只能修饰前面紧挨着的一个字符

1.*星号

0~多次

eg. var reg = /\d*/ 包含0~多个数字

2.+加号

至少出现一次:1~多个

3.

包含0~1次都可以


精准

4.{n}

精准,指定次数

5.{n,}

加个逗号,表示 至少 n次

6.{n,m}

大于等于n,小于等于m

元字符——特殊符号

1.() 整体

image.png

2.|

(跟上面只管一个字符不一样,这个管的是左右整体)

3.[]

中括号里可以放任意n个字符,只要你输入框里写的有这里面的其中一个就可(所以它管的其实也是一个字符)

4. [^] 取反(^在中括号里)

var reg = /[^abc]/只要输入框中abc有一个不在就行

正则表达式-方法

检测test()

捕获exec()

懒惰

只截取你需要的(不过只能截取遇到的第一个) image.png

image.png 然后这样,split按照杠-分割得到数组,join用斜杠连起来 image.png

image.png

标识符(写在双斜杠外//)g全局,i忽略大小写

积极

正则表达式的两大特性

1.懒惰,解决方法是用全局标识符g

2.贪婪

{1,4}虽然是至少一次至多四次,但是它捕获的时候一定会捕获四次(越多越好)

想改成 非贪婪 的话,只要在后面加上 ?问号 就可以(会取最少)

正则与字符串方法

.replace替换 .search搜索 .match捕获内容