构造函数
new RegExp('规则', '标识')
字面量书写
/规则/标识
常用方法
// reg是正则对象
reg.test('字符串'); // 验证字符串是否满足规则
// reg是正则对象,str是字符串
str.replace(reg, '替换目标'); // 将字符串中匹配正则的部分替换为目标,返回替换后的字符串
// 将字符串中匹配正则的每一项传入到回调函数的参数中,将函数的返回结果进行替换
str.replace(reg, function(s){
return '替换目标'
})
规则
标识
标识字符 | 含义 |
---|---|
i | 不区分大小写 |
g | 全局匹配,如果没有此标识,只会匹配第一个 |
m | 多行匹配 |
字符匹配
记忆\w\s区别
s
:space 空格空白字符...
w
:word 单词
.
: 除换行符外任意字符
连续的规则
多个规则可以连续书写,用以匹配多个字符,例如:
/\d[a-zA-Z]/ // 匹配以1个数字紧跟一个字母
若多个规则是一个或者的关系,使用|
分割
/\d[a-zA-Z]|[a-zA-Z]\d/ // 匹配以1个数字紧跟一个字母,或者一个字母紧跟一个数字
规则的重复(量词)
一个或一段规则之后,可以紧跟一个量词,表示前面的规则出现的次数
/[a-zA-Z]\d{3}/ // 匹配1个字母,后面跟上连续的3个数字,{3}是量词,应用的规则是\d
/([a-zA-Z]\d){3}/ // {3}是量词,应用的规则是 [a-zA-Z]\d
量词 | 含义 |
---|---|
{n} | 出现n次 |
{n, m} | 出现n-m次 |
{n,} | 至少出现n次 |
* | 出现0次或多次,等价于{0,} |
? | 出现0次或一次,等价于{0,1} |
+ | 出现1次或多次,等价于{1,} |