正则表达式
专门用来检测字符串是否符合“规则” 使用的
1、创建一个正则表达式
字面量创建:var reg = /abcdefg/
构造函数创建:var reg = new RegExp('abcdefg')
2、正则表达式里面的符号
元字符
. :匹配非换行的任意字符
\ :转译符号,把有意义的符号转换成没有意义的字符,把没有意义的字符转换成有意义的符号
\s:匹配空白字符(空格/制表符/...)
\S:匹配非空白字符
\d :匹配数字
\D:匹配非数字
\w:匹配数字字母下划线
\W:匹配非数字字母下划线
限定符
*:前一个内容重复至少0 次,也就是可以出现 0 ~ 正无穷 次
+ :前一个内容重复至少1 次,也就是可以出现 1 ~ 正无穷 次
?:前一个内容重复0 或者 1 次,也就是可以出现 0 ~ 1 次
{n}:前一个内容重复n 次,也就是必须出现 n 次
{n,}:前一个内容至少出现n 次,也就是出现 n ~ 正无穷 次
{n,m}:前一个内容至少出现n 次至多出现 m 次,也就是出现 n ~ m 次
边界符
^:表示开头
$:表示结尾
特殊符号
():限定一组元素
[]:字符集合,表示写在[]里面的任意一个都行
[^]:反字符集合,表示写在[^]里面之外的任意一个都行
-:范围,比如a-z表示从字母a 到字母 z 都可以
|:或,正则里面的或a|b表示字母a 或者 b 都可以
标示符
i :表示忽略大小写
这个i是写在正则的最后面的
/\w/i
就是在正则匹配的时候不去区分大小写
g:表示全局匹配
这个g 是写在正则的最后面的
/\w/g
就是全局匹配字母数字下划线
3、正则表达式的方法
test
test是用来检测字符串是否符合我们正则的标准
语法:正则.test(字符串)
返回值:boolean
exec
exec是把字符串中符合条件的内容捕获出来
语法:正则.exec(字符串)
返回值:把字符串中符合正则要求的第一项以及一些其他信息,以数组的形式返回
4、字符串的方法
search
search是查找字符串中是否有满足正则条件的内容
语法:字符串.search(正则)
返回值:有的话返回开始索引,没有返回-1
match
match找到字符串中符合正则条件的内容返回
语法:字符串.match(正则)
返回值:
没有标示符g 的时候,是和 exec 方法一样
有标示符g 的时候,是返回一个数组,里面是匹配到的每一项
replace
replace是将字符串中满足正则条件的字符串替换掉
语法:字符串.replace(正则,要替换的字符串)
返回值:替换后的字符串