必须包含“数字”,“字母”,“特殊字符”两种以上的正则表达式
5个回答
展开全部
你说的是至少包含“数字”,“字母”,“特殊字符”中的两种吧
^(((?=.*[0-9])(?=.*[a-zA-Z])|(?=.*[0-9])(?=.*[^\s0-9a-zA-Z])|(?=.*[a-zA-Z])(?=.*[^\s0-9a-zA-Z]))[^\s]+)$
上面的正则表达式假设除了数字,字母,空白符外的字符都是特殊字符,这个正则不允许空白符,必须有“数字”,“字母”,“特殊字符”中的至少两种
如果是两种以上就是说三种字符都必须包含,正则是这样的
^(?i).+(?<=\d.*)(?<=[a-z].*)(?<=[^a-z\s\d].*)$
这个正则可以匹配有空格的字符串
^(((?=.*[0-9])(?=.*[a-zA-Z])|(?=.*[0-9])(?=.*[^\s0-9a-zA-Z])|(?=.*[a-zA-Z])(?=.*[^\s0-9a-zA-Z]))[^\s]+)$
上面的正则表达式假设除了数字,字母,空白符外的字符都是特殊字符,这个正则不允许空白符,必须有“数字”,“字母”,“特殊字符”中的至少两种
如果是两种以上就是说三种字符都必须包含,正则是这样的
^(?i).+(?<=\d.*)(?<=[a-z].*)(?<=[^a-z\s\d].*)$
这个正则可以匹配有空格的字符串
展开全部
正则匹配数字、字母、指定特殊字符的表达式两种或以上,绝对靠谱!
// 综合全匹配 限定8-16位
var ckAll = /^(?=.*\d)(?=.*[a-zA-Z])(?=.*[~!@#$%^&*])[\da-zA-Z~!@#$%^&*]{8,16}$/;
// 包含数字
var ckNum = /^(?=.*\d)[\da-zA-Z!@#$&_,.?]+$/;
// 包含英文
var ckEng = /^(?=.*[a-zA-Z])[\da-zA-Z!@#$&_,.?]+$/;
// 包含指定字符!@#$&_,.? 可自定义添加
var ckChar = /^(?=.*[!@#$&_,.?])[\da-zA-Z!@#$&_,.?]+$/;
不对可以私信我!
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
[0-9a-zA-Z?]{2,}
把?号替换成你允许使用的特殊字符,如[0-9a-zA-Z@#$]{2,}
把?号替换成你允许使用的特殊字符,如[0-9a-zA-Z@#$]{2,}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
思路 不能全是上面的三种字符中的其中一种
(?![a-zA-Z]+$) 不能全是字母
(?!\d+$) 不能全是数字
(?![^\x00-\xff]+$) 不能全是特殊字符
组合起来就是 注意 没有空格 复制时小时百度的神秘空格
^(?![a-zA-Z]+$)(?!\d+$)(?![^\x00-\xff]+$).+$
(?![a-zA-Z]+$) 不能全是字母
(?!\d+$) 不能全是数字
(?![^\x00-\xff]+$) 不能全是特殊字符
组合起来就是 注意 没有空格 复制时小时百度的神秘空格
^(?![a-zA-Z]+$)(?!\d+$)(?![^\x00-\xff]+$).+$
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询