Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/216.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何使用符号验证android中的用户名和密码?_Java_Android - Fatal编程技术网

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");
                }