6.2.1、备选字符集/预定义字符集

备选字符集 : 规定某一位字符的备选字符列表
特点:必须且只能多选一

  1. var str = "上海,上天,上那里去";
  2. var reg = /上[海天]/g;
  3. console.log(str.replace(reg,"**")); // **,**,上那里去了
  1. [0-9] 一个数字
  2. [a-z] 一个小写字母
  3. [A-Z] 一个大写字母
  4. [0-9a-zA-Z] 一个数字或字母

预定义字符集:针对常用的备选字符集提供的简化符号

  1. [0-9] \d 一位数字
  2. [0-9a-zA-Z_] \w 一位数字字母或下划线
  3. . 所有字符
  4. \s 空格,空字符,换行
  1. var str = "_fgd56161_";
  2. var reg = /\d/g; //
  3. console.log(str.replace(reg,"*"));
  4. console.log(str.replace(/\w/g),"*");

6.2.2、量词

量词 :定字符集出现的次数
1.确定数量

  1. {m} 只能出现m
  2. {m,n} 大于m次小于n
  3. {m,} 大于m

2.不确定数量

  1. ? 一个或0
  2. + 1个以上
  3. * 多个或没有
  1. var str = "hje5155";
  2. var reg = /\d+/
  3. console.log(reg.test(str)); // true

3.贪婪模式
给量词的情况下 默认取得的是最大值

  1. var str = "5616516hello";
  2. var reg = /\d{3,6}/;
  3. console.log(str.replace(reg,"*")); // ******6hello

4.懒惰模式

  1. var str = "5616516hello";
  2. var reg =/\d{3,6}?/;
  3. console.log(str.replace(reg,"*")); // ***6516hello

6.2.3、选择分组

1.选择 |
2.分组 ( )

  1. var str = "哪里,哪去能发多少积分";
  2. console.log(str.replace(/哪里|能发/g,"*"));

3.转义字符 \
转义字符 遇到一些特殊的字符 需要处理可以在前面加上转义字符

  1. var str = "\"hello"
  2. console.log(str); // "hello

6.2.4、指定匹配位置

^开头的xxx,$结尾的xxx
只要验证时,必须前加^,后加$!

  1. ^\s+ //匹配字符串开头的所有空字符
  2. \s+$ //匹配字符串结尾的所有空字符

6.2.5、非

  1. ^[a-zA-Z] 不包含字母
  2. ^\d 除了数字