1. 字符出现的次

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.test(pwd)) // true

2.不确定数量

  1. ?: 0-1 01
  2. +: num>=1 1到多次
  3. *: num>=0 0到多次
  4. //{m,n}等价写法
  5. * {0,} ab* 可以匹配到 aabbb
  6. + {1,} 正则ab+可以匹配到 ababbbb但匹配不到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(reg,"*")); // *48askdh545 将前面六个全部获取

4. 非贪婪模式

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