1. 字符出现的次

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  只找到三个而非六个