Java 如何使用符号验证android中的用户名和密码?
我在验证用户名和密码时遇到困难,他们可能没有使用所需的符号 特殊字符示例:Java 如何使用符号验证android中的用户名和密码?,java,android,Java,Android,我在验证用户名和密码时遇到困难,他们可能没有使用所需的符号 特殊字符示例:@、./?”;:[{]}\+=-(*&^%$\@!~等等 但是我想验证我想要的用户名和密码 我只希望用户名允许使用1个符号和1个空格,密码应该允许使用1个大写字母 我的代码 if (username.matches("")){ Toast.makeText(getApplicationContext(),"Username no valid.",Toast.LENGTH_SHORT)
@、./?”;:[{]}\+=-(*&^%$\@!~
等等
但是我想验证我想要的用户名和密码
我只希望用户名允许使用1个符号和1个空格,密码应该允许使用1个大写字母
我的代码
if (username.matches("")){
Toast.makeText(getApplicationContext(),"Username no valid.",Toast.LENGTH_SHORT).show();
} else if (password.matches("")){
Toast.makeText(getApplicationContext(),"Password no valid.",Toast.LENGTH_SHORT).show();
}
也许这里有人能帮我解决这个问题。我建议使用正则表达式 public static boolean isValidPassword(final String password) { Pattern pattern; Matcher matcher; final String PASSWORD_PATTERN = "^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)(?=.*[@$!%*?&])[A-Za-z\d@$!%*?&]{8,}$"; pattern = Pattern.compile(PASSWORD_PATTERN); matcher = pattern.matcher(password); return matcher.matches(); }
在下面的正则表达式中使用至少八个字符,至少一个大写字母、一个小写字母、一个数字和一个特殊字符-
public static boolean checkPassword(String pass) {
Pattern pat;
Matcher mat;
String PASSWORD= "^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)(?=.*[@$!%*?&])[A-Za-z\d@$!%*?&]{8,}$";
pat= Pattern.compile(PASSWORD);
mat= pattern.matcher(pass);
return mat.matches();
}
这将帮助您使用正则表达式:for USERNAME 用所需的特殊字符替换$%#@
String regularExpression1 = "^[a-zA-Z0-9]*[\\s]{1}[a-zA-Z0-9]*[$%#@#]{1}[a-zA-Z0-9]*$";
String regularExpression2 = "^[a-zA-Z0-9]*[$%#@#]{1}[a-zA-Z0-9]*[\\s]{1}[a-zA-Z0-9]*$";
if (userName.matches(regularExpression1) || userName.matches(regularExpression2) ) {
System.out.println("Valid");
} else {
System.out.println("Invalid");
}
密码:编辑只允许一个大写字符的regex[A-Z]{1}。请定义什么是“符号”“这里是指。注册表或登录表单的验证符号,只能使用允许的符号。我认为符号和特殊字符与提及的单词相同。您是否有有效的密码示例?我将使用您提供的密码示例fwf1Q!e1让我们一起使用。
String regularExpression1 = "^[a-zA-Z0-9]*[\\s]{1}[a-zA-Z0-9]*[$%#@#]{1}[a-zA-Z0-9]*$";
String regularExpression2 = "^[a-zA-Z0-9]*[$%#@#]{1}[a-zA-Z0-9]*[\\s]{1}[a-zA-Z0-9]*$";
if (userName.matches(regularExpression1) || userName.matches(regularExpression2) ) {
System.out.println("Valid");
} else {
System.out.println("Invalid");
}