正则表达式
创建正则对象
// 构造函数
new RegExp('规则', '标识')
// 字面量书写
/规则/标识
正则常用方法
// reg是正则对象
reg.test('字符串'); // 验证字符串是否满足规则
// reg是正则对象,str是字符串
str.replace(reg, '替换目标'); // 将字符串中匹配正则的部分替换为目标
// 将字符串中匹配正则的部分传入到回调函数的参数中,将函数的返回结果进行替换
str.replace(reg, function(s){
  return '替换目标'
})
标识
| 标识字符 | 含义 | 
|---|---|
| i | 不区分大小写 | 
| g | 全局匹配,如果没有此标识,只会匹配第一个 | 
| m | 多行匹配 | 
规则
详见:https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Guide/Regular_Expressions
字符匹配规则
| 规则书写 | 含义 | 
|---|---|
| 直接书写一个普通字符 | 匹配书写的字符 | 
| [字符规则] | 匹配[]中出现的所有字符规则 | 
| [^字符串规则] | 匹配[]中没有出现的字符规则 | 
| . | 匹配任意字符 | 
| \d | 匹配数字,等价于 [0-9] | 
| \D | 匹配非数字 | 
| \s | 匹配空白字符,包括空格、回车、换行、制表 | 
| \S | 匹配所有非空白字符 | 
| \w | 匹配单词字符,等价于 [A-Za-z0-9_] | 
| \W | 匹配非单词字符,等价于 [^A-Za-z0-9_] | 
| ^ | 匹配字符串开始,写到规则开始位置 | 
| $ | 匹配字符串结束,写到规则结束位置 | 
| \\ | 匹配 \ | 
连续的规则
多个规则可以连续书写,用以匹配多个字符,例如:
/\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,} | 










