求正则表达式,密码必须包含大写字母、小写字母、数字,只要这三种情况……
谢谢大家!

解决方案 »

  1.   

    [a-z]+
    [A-Z]+
    [0-9]+
    判断3次
      

  2.   

    一条正则表达式 很难直接解决问题,下面这个能做到你说的要求
    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"));
        }
    }
      

  3.   

    不知道楼主说的是个什么情况,如果你想规定密码只能是大写字母+小写字母+数字的任意组合,而且必须包含这3种数据,比如:XXYYxxyy1122   这种情况的话,楼主可以使用下面的方式进行验证:public void ConfirmPwd(String pwd) {
     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楼的正则就可以啦!
      

  4.   


    System.out.println(checkPassword("Aa1_________"));上面这个是true
    还是把\\w 改成[A-Za-z0-9]+吧。。
      

  5.   

    String regex = "(?=.*[A-Z])(?=.*[a-z])(?=.*[0-9])[a-zA-Z0-9]{6,15}";说实在的,需求极其不明确!!!!!!!1:密码只允许大小写字母和数字么?
    2:密码中必须同时需要拥有大写字母、小写字母和数字么?
    3:密码的长度限制呢?