字符出现的次
1. 确定数量
{m} : 只出现m次
{m,n}: m<=num<=n 中间不能有空格
{m,} : num>=m ,至少出现m次
var pwd ="1233klshfjds" // 5-7位
var reg = /[0-9]{5,7}/g //5<=出现次数《=7,所有数字
var reg2 = /[0-9]{4,}/g //数字出现4次
console.log(reg.test(pwd)); // false
console.log(reg2.test(pwd)) // true
2.不确定数量
?: 0-1 0到1次
+: num>=1 1到多次
*: num>=0 0到多次
//{m,n}等价写法
* {0,} ab* 可以匹配到 a或abbb
+ {1,} 正则ab+可以匹配到 ab或abbbb但匹配不到a
? {0,1}
var str ="jksdh2";
var reg = /\d+/ ; //任意数字>=1
console.log(reg.test(str)); //true
3.贪婪模式
// 表示次数的量词默认是贪婪的(默认取最大值),在贪婪模式下会尝试尽可能最大长度去匹配
var str = "19028448askdh545"
var reg = /\d{3,6}/
console.log(str.replace(reg,"*")); // *48askdh545 将前面六个全部获取
4. 非贪婪模式
// 量词后面加问号(?)找出长度最小且满足要求的
var str = "82178212jkbcckj"
var reg = /\d{3,6}?/
console.log(str.replace(reg,"*")); // *78212jkbcckj 只找到三个而非六个