辅助工具:

1:在线匹配http://tool.oschina.net/regex/
2:百度前端助手
3:本文配套例子马云代码

1:创建正则表达式对象

1-1 字面量方式
1-2 new 关键字
1-3 字符窜全局替换

2:常用匹配规则

2-1 原字符
1任意字符
2 \w字母,数字,下划线
3 \s 任意空白字符
4 \d 匹配任意数字。等同于【0-9】
5 \D匹配非数字。等同于【^0-9】
6 |或匹配,如 /x|y/ 正则可匹配x 或 y 两个字符
7 ^ 匹配字符串的开始
8 $ 匹配字符串的结束
9 [abs] 表示 包含里面的任意一个

2-2 反义字符

1 [^x] 匹配除 “x” 之外的所有字符 。 其中 “x” 可为任意字符
2 [^xyz] 同上 ,匹配除 “x, y ,z”之外的任意字符

重复匹配

3-1 ? 重复常出现零次或一次
3-2 + 重复出现一次或多次
3-3 * 重复出现零次或一次
3-4 {n} 重复出现n次
3-5 {n.} 至少重复出现n次
3-6 {n,m} 重复出现 m 到 n次, 其中 m < n

分组

4-1 用括号分组
4-2 分组的应用

正则表达式解读

  1. /^(0|86|17951)?(13[0-9]|15[012356789]|166|17[3678]|18[0-9]|14[57])[0-9]{8}$/
  1. /^(0|86|17951)? 0,866,17951 可以是0次或一次
  2. 1: (13[0-9]|15[012356789]|166|17[3678]|18[0-9]|14[57])
  3. - 13[0-9]
  4. - 15[012356789]
  5. - 166 //后面只能匹配的数字
  6. - 17[3678]
  7. - 18[0-9]
  8. - 14[57]
  9. 2: [0-9]{8}$ //后面八位数每一位数都要是0~9之内的数字

2 /\w+([-+.]\w+)@\w+([-.]\w+).\w+([-.]\w+)*/

  1. 1. \w+ 数字,字母,下划线有1个或多个
  2. 2. ([-+.]\w+) - + .任意一个; 数字,字母,下划线有1个或多个
  3. 3. \w+
  4. 4. ([-.]\w+)*
  5. 5. \.\w+
  6. 6. ([-.]\w+)*