要求
密码必须包含字母、数字和特殊字符,且长度要在8位以上
方案
var reg = /(?=.*[a-z_])(?=.*\d)(?=.*[^a-z0-9_])[\S]{8,}/i;
具体解释
(?=.*[a-z_]) :匹配至少一个a-z和下划线中的字符
(?=.*\d):匹配至少一个数字
(?=.*[^a-z0-9_]):匹配至少一个非字母数字且非下划线的字符
[\S]:匹配任意字符
{8,}: 长度大于8
/i: 无视大小写
关于正则表达式的详细介绍:正则表达式知识详解