/*
正则表达式 new RegExp(表达式,修饰符)
修饰符:
g 表示全局匹配
表达式:
^ 表示以...开头
$ 表示以...结尾
+ 表示必须包含...
. 通配符,表示?
方括号用于查找某个范围内任意一个的字符
[A-Z] 表示包含大写字母
[a-z] 表示包含小写字母
[A-z] 表示包含大写字母和小写字母
[0-9] 表示包含0-9的数字
[^abc] 表示不包含a,b,c 三个字符
(?=.*表达式) 表示必须包含...任意一个
(?=.量词) 表示必须满足‘量词’对应的含义
学习网站:
https://juejin.im/post/5965943ff265da6c30653879
https://www.liaoxuefeng.com/wiki/1022910821149312/1023021582119488
*/
var str = '1_Qqa@'
var reg1 = new RegExp("^.*(?=.*[0-9])(?=.*[A-Z])(?=.*[a-z])(?=.*\\W)(?=.*[a])(?=.{5}).*$","gm");
var reg2 = /^[a-zA-Z0-9]+$/g;
// 验证 str是否满足reg1
document.write('reg1.test(str): '+reg1.test(str)+' |');
document.write('str.match(reg1): '+str.match(reg1)+' |');
/*=====================正则表达式 end============================*/