求正则表达式,密码必须包含大写字母、小写字母、数字,只要这三种情况……
谢谢大家!
谢谢大家!
解决方案 »
- TelnetClient的getOutputStream()方法是把命令写到远程主机上吗?
- 关于spring配置文件的问题.大家帮看下.
- JavaMail并发发送邮件的假死问题
- .setVisible(true);报错 新手帮下
- 模拟的unix主机实现telnet功能出现的问题:
- 关于一个数据库表设计的问题,请大家帮忙看哈一下,谢谢
- 急盼:tomcat和servlet的问题。万分感谢!:)
- 希望了解一下java在电信领域的应用情况
- 能否通过web start 实现浏览器向一个application中传递参数?
- UEditor编辑器,怎么实现用快捷键提交信息
- 关于hibernate
- 这个this是什么意思?
[A-Z]+
[0-9]+
判断3次
1.必须只能是 大写字母、小写字母和数字构成的密码
2.大写字母、小写字母、数字都至少出现一次import java.util.regex.Pattern;
import java.util.regex.Matcher;public class RegexRegexTest2 {
public static boolean checkPassword(String password){
if(password.matches("\\w+")){
Pattern p1= Pattern.compile("[a-z]+");
Pattern p2= Pattern.compile("[A-Z]+");
Pattern p3= Pattern.compile("[0-9]+");
Matcher m=p1.matcher(password);
if(!m.find())
return false;
else{
m.reset().usePattern(p2);
if(!m.find())
return false;
else{
m.reset().usePattern(p3);
if(!m.find())
return false;
else{
return true;
}
}
}
}else{
return false;
} } public static void main(String[] args) {
System.out.println(checkPassword("ABCef342OSS"));
System.out.println(checkPassword("ABC"));
System.out.println(checkPassword("123"));
}
}
String str = pwd;
str = "X123";//测试用数据
String regex = "([A-Z]+[a-z]+[0-9]+[\\d\\w]*)|([A-Z]+[0-9]+[a-z]+[\\d\\w]*)|([0-9]+[a-z]+[A-Z]+[\\d\\w]*)" +
"|([0-9]+[A-Z]+[a-z]+[\\d\\w]*)|([a-z]+[0-9]+[A-Z]+[\\d\\w]*)|([a-z]+[A-Z]+[0-9]+[\\d\\w]*)";
Pattern p = Pattern.compile(regex);
Matcher m = p.matcher(str);
if (m.find()) {
if (str.equals(m.group())){
System.out.println("符合要求的密码");
}else {
System.out.println("不符合要求的密码");
}
}else {
System.out.println("不符合要求的密码");
}
}如果只需要是数组或者大小写字母就行,那么就2楼的正则就可以啦!
System.out.println(checkPassword("Aa1_________"));上面这个是true
还是把\\w 改成[A-Za-z0-9]+吧。。
2:密码中必须同时需要拥有大写字母、小写字母和数字么?
3:密码的长度限制呢?