正则表达式(js的复杂数据类型)
正则表达式大全
常用的 JS正则表达式整理 - 掘金 (juejin.cn)
写法
利用正则表达式来校验表单中的内容
字面量
放在//里
var reg = /abc/
目的是:检查一个字符串中是否包含abc三个字母,且紧密连在一起
内置构造函数
var reg2 = new RegExp("abc") 目的同上
元字符——基本元字符
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.() 整体
2.| 或
(跟上面只管一个字符不一样,这个管的是左右整体)
3.[]
中括号里可以放任意n个字符,只要你输入框里写的有这里面的其中一个就可(所以它管的其实也是一个字符)
4. [^] 取反(^在中括号里)
var reg = /[^abc]/只要输入框中abc有一个不在就行
正则表达式-方法
检测test()
捕获exec()
懒惰
只截取你需要的(不过只能截取遇到的第一个)
然后这样,split按照杠-分割得到数组,join用斜杠连起来
标识符(写在双斜杠外//)g全局,i忽略大小写
积极
正则表达式的两大特性
1.懒惰,解决方法是用全局标识符g
2.贪婪
{1,4}虽然是至少一次至多四次,但是它捕获的时候一定会捕获四次(越多越好)
想改成 非贪婪 的话,只要在后面加上 ?问号 就可以(会取最少)