Open
Description
必须包含数字字母特殊字符
解法1
/(?!^[0-9]+$)(?!^[a-z]+$)(?!^[.!@#$%^&*]+$)^[0-9a-z.*]{6,26}$/
// 采用零宽断言-该断言后面不能是纯数字
(?!^[0-9]+$)
// 采用零宽断言-该断言后面不能是纯字母
(?!^[a-z]+$)
// 采用零宽断言-该断言后面不能是纯特殊字符
(?!^[.!@#$%^&*]+$)
// 字母数字特殊字符组合
^[0-9a-z.*]{6,26}$
// 不多说了,基础看实际项目需求
{6,26}
综合起来就是字母数字特殊字符的组合符合条件.
此条件可以随意组合 数字字符 或者 三者结合
解法2
/^(?=.*[0-9]+)(?=.*[a-z]+)(?=.*[!@#$%^&*.-]+)[0-9a-z.]{6,26}$/
// 采用零宽断言-该断言后面必须包含数字
(?=.*[0-9]+)
// 采用零宽断言-该断言后面必须包含字母
(?=.*[a-z]+)
// 采用零宽断言-该断言后面必须包含特殊字符
(?=.*[!@#$%^&*.-]+)
// 字母数字特殊字符
[0-9a-z.]{6,26}