临摹微笑
一个正则就可以搞定:var patten = /^(?![a-z]{8,}$)(?![A-Z]{8,}$)(?!\d{8,}$)(?![!@#\$%]{8,}$)[a-zA-Z\d!@#\$%]{8,}$/patten.test('a2b$cdabABa') //truepatten.test('aaaabbbbs') //false解释一下,[a-zA-Z\d!@#\$%]{8,}$ 是正则表达式主体,特殊符号你还可以自己加,目前只支持 !@#\$%
(?![a-z]{8,}$) 是否定断言,表示不能全是小写字母,后面类似