密码验证中的正则表达式不起作用?

时间:2013-09-12 16:18:23

标签: java android

在我的Android项目中,我有一个正则表达式和一个字符串,其中我应该有匹配的表达式。问题是,我只是找不到?请看我的代码,我的问题是什么,请将其分类;

public void validatePassword(String gettext) {
    Toast.makeText(getApplicationContext(),gettext,Toast.LENGTH_LONG).show();
    String regex ="((?=.*[0-9])(?=.*[a-z]) (?=.*[A-Z])(?=.*[@#*=])(?=[\\S]+$).{5,10})";
    Matcher matcher = Pattern.compile( regex ).matcher(gettext);
    if (matcher.find())
    {
        result = matcher.group(); 
        Toast.makeText(getApplicationContext(), "Matches",Toast.LENGTH_LONG).show();        
    }
    else
    {
        Toast.makeText(getApplicationContext(), " No Matches",Toast.LENGTH_LONG).show();

    }
}

密码包含一个lowerCase(a-z),一个大写的Case(A-Z)字符,一个特殊字符,一个numberic.it必须包含最少8个和最多14个chAracters

1 个答案:

答案 0 :(得分:1)

你应该使用这个

^(?=.*[a-z])(?=.*[A-Z])(?=.*\\d)(?=.*[@#*=]).{8,14}$

如果要覆盖ascii中的所有特殊字符,可以使用

[!-/:-@\[-`{-~]