1. 确定数量

  1. {m}:只出现m
  2. {m,n}: m<=num<=n 中间不能有空格
  3. {m,}:num>=m , 至少出现m
  1. var pwd = '1233klshfjds' // 5-7位
  2. var reg = /[0-9]{5-7}/g // 5<=出现的次数<=7,所有数字
  3. var reg2 = /[0-9]{4,}/g // 数字出现4次以上
  4. console.log(reg.test(pwd)); // false
  5. console.log(reg2.text(pwd)); // true

2. 不确定数量

  1. ?: 0-1 01
  2. +: num>=1 1到多次
  3. *: num>=0 0到多次
  4. //{m,n}等价写法
  5. * {0,} ab* 可以匹配到 a abbb
  6. + {1,} 正则ab+可以匹配到 ab或者abbbb 但匹配不到a
  7. ? {0,1}
  1. var str = 'jksdh2';
  2. var reg = /\d+/; // 任意数字>=1
  3. console.log(reg.test(str)); //true

3. 贪婪模式

  1. // 表示次数的量词默认是贪婪的(默认取最大值),在贪婪模式下会尝试可能最大长度取匹配
  2. var str = '19028448askdh545'
  3. var reg = /\d{3,6}/
  4. console.log(str.replace(red,"*")); // *48askdh545 将前面六个全部获取

4. 非贪婪模式

  1. // 量词后面加问号(?)找出长度最小且满足要求的
  2. var str = '82178212jkbcckj';
  3. var reg = /\d{3,6}?/
  4. console.log(str.replace(reg,'*')); //*78212jkbcckj 只找到三个而非六个