正则表达式匹配一个6,12位字符 不能为纯数字也不能为纯字母,必须带有数字和字母,同时特殊符号也是可以。

正则表达式匹配一个字符不能为纯数字也不能为纯字母,必须带有数字和字母,同时特殊符号也是可以输。
可以为 aaa123 a123!@# 123!aaa 只是不能为 aaaaaa 111111

阅读 11.4k
4 个回答

匹配一个由字母,数字或特殊字符组成的长度为6-12的字符串,字符串中必须同时包含字母和数字。不明白你的特殊字符的定义是什么,姑且理解为键盘上所有可输入的除字母,数字之外的字符。

^(?![^A-Za-z]+$)(?![^0-9]+$)[\x21-x7e]{6,12}$

空手套代码的行为,大家都散了吧

表意不太明确,可以直接去掉必须带有数字和字母,同时特殊符号也是可以输这句话。即为不能为纯数字或纯字母。那么匹配纯数字和纯字母的字符串,返回false就可以了。

另外可以在正则匹配之前使用函数去除字符串的首尾空格,因为你这里说的特殊字符不太明确。所以正则表达式只能写成这样。

^(d*|[a-zA-Z]*)$

你为什么不直接问:“如何禁止输入弱口令?” 呢?

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题