匹配“大写字母,小写字母,数字,特殊字符”四项中的至少三项的正则表达式如下:
var reg = /^(?![a-zA-Z]+$)(?![A-Z0-9]+$)(?![A-Z\\W_!@#$%^&*`~()-+=]+$)(?![a-z0-9]+$)(?![a-z\\W_!@#$%^&*`~()-+=]+$)(?![0-9\\W_!@#$%^&*`~()-+=]+$)[a-zA-Z0-9\\W_!@#$%^&*`~()-+=]{8,30}$/;
//释义:
// [A-Za-z]+ 表示字符串不全是大写字母和小写字母组成
//(?![A-Za-z]+$) 表示如果从当前匹配位置开始到结尾是一个不全是大写字母和小写字母组成的字符串,就匹配,否则匹配位置保持不变,执行接下来的表达式