正则 密码 由数字和字母组成, 并且不能为纯字母或纯数字
发布时间:2020-12-14 04:27:18 所属栏目:百科 来源:网络整理
导读:密码由6位以上的字母和数字组成, 至少包含一个字母和数字, 不能由纯数字或字母组成。并且不能为纯数字, 不能为纯字母, 必须包含一个字母和数字。 正则: 1 ^ ( ? ! [ 0 - 9 ] + $ ) [ a - zA Z 9A - Za z ] { 6 , } $ 分开来注释一下: ^匹配一行的开头
密码由6位以上的字母和数字组成, 至少包含一个字母和数字, 不能由纯数字或字母组成。并且不能为纯数字, 不能为纯字母, 必须包含一个字母和数字。 正则:
^匹配一行的开头位置 (?![0-9]+$)预测该位置后面不全是数字 (?![a-zA-Z]+$)预测该位置后面不全是字母 [0-9A-Za-z]{6,10}由6-10位数字或这字母组成 $匹配行结尾位置 测试代码: 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 public static void main(String[] args) { /** * 正则匹配: 由字母和数字组成,但不能为纯数字, 不能为纯字母。 * * 密码由6位以上的字母和数字组成, 至少包含一个字母和数字, 不能由纯数字或字母组成。 * 密码验证:"^(?![0-9]+$)(?![a-zA-Z]+$)[0-9A-Za-z]{6,}$" * */ Pattern pattern = Pattern.compile("^(?![0-9]+$)(?![a-zA-Z]+$)[0-9A-Za-z]+$"); String[] test = new String[]{ "0123","0a","012aBc","Abc0123","ab0123C","012abc3","0a1b2c3d",// 匹配数据 "","abc","012?&^","abc&(","&(*.","www123 ","www 123" // 违规数据 }; for(String t : test){ System.out.println(String.format("%s t match %b",t,pattern.matcher(t).find())); } } 输出结果:
转自:http://bbs.csdn.net/topics/390681908 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |