【发布时间】:2014-11-17 10:58:36
【问题描述】:
我正在做一个项目,在该项目中,用户只能输入带有字母、字母和特殊字符(如 (@.#$%^) 的密码&_-&*) 单独在编辑文本中。我尝试了各种方法,例如。 **注意:空间受到严格限制
方法一:
在布局中设置数字如下
android:digits="0,1,2,3,4,5,6,7,8,9,*@#$%_-\^.& 此方法运行良好,但我可以输入 brackets'(', semicolon ';' 但我无法输入 slash '\'(我已在数字标签中添加) 方法二: 通过以下方法尝试正则表达式 但不幸的是得到异常public static boolean limitPasswordCharacters(String about){
// UserName Validation Pattern String
final Pattern USER_NAME_PATTERN = Pattern.compile("^[a-zA-Z0-9@.#$%^&*_&\\]+$");
if(USER_NAME_PATTERN.matcher(about).matches()){
return true;
}
return false;
}
11-17 16:18:11.155: E/AndroidRuntime(15877): java.util.regex.PatternSyntaxException: Missing closing bracket in character class near index 22:
11-17 16:18:11.155: E/AndroidRuntime(15877): [a-zA-Z0-9@.#$%^&*_&\]
【问题讨论】:
标签: java android regex validation android-edittext