在验证密码复杂的正则表达试中,几位码友有发布过从两种字符里选两种的,从三种字符里选有三种的。
今天我提一个从三种里选两种的。有喜欢的朋友拿去用。
密码须包含数字、字母、特殊符号两种以上,且不少于8位,不多于32位。
javascript
password: [
{ required: true, message: '请输入密码', trigger: 'blur' },
{ pattern: /^((?=.*[A-Za-z])(?=.*\d)|(?=.*[A-Za-z])(?=.*[!@#$%^&*()_+\-\=])|(?=.*\d)(?=.*[!@#$%^&*()_+\-\=]))[A-Za-z\d!@#$%^&*()_+\-\=]{8,31}$/,
message: '密码须包含数字、字母、特殊符号两种以上,且不少于8位', trigger: 'blur' }
]
我验证了一下,大概是对的,如果不对,私我哈。
把正则表达式拆分一下:
开头:/^
由字母和数字组成:((?=.*[A-Za-z])(?=.*\d)
或由字母和符号组成:|(?=.*[A-Za-z])(?=.*[!@#$%^&*()_+\-\=])
或由数字和符号组成:|(?=.*\d)(?=.*[!@#$%^&*()_+\-\=]))
字母、数字、符号不少于8位,不少于32位:[A-Za-z\d!@#$%^&*()_+\-\=]{8,31}
结束:$/