用户输入一个用户名,判断用户名是否合法,用户名的要求是长度为6~10位,且只包含字母和数字。JAVA代码
时间: 2024-03-23 10:38:52 浏览: 151
可以使用正则表达式来判断用户名是否合法,下面是JAVA代码示例:
```java
import java.util.regex.Pattern;
public class UserNameValidation {
public static void main(String[] args) {
String userName = "abc12345"; // 用户输入的用户名
boolean isValid = Pattern.matches("^[a-zA-Z0-9]{6,10}$", userName);
if (isValid) {
System.out.println("用户名合法!");
} else {
System.out.println("用户名不合法!");
}
}
}
```
上述代码中,`Pattern.matches()` 方法用于判断字符串是否匹配指定的正则表达式,正则表达式 `^[a-zA-Z0-9]{6,10}$` 表示用户名只包含字母和数字,且长度为6~10位。如果用户名合法,则输出 `用户名合法!`,否则输出 `用户名不合法!`。
相关问题
用户输入一个用户名,判断用户名是否合法,用户名的要求是长度为6~10位,且只包含字母和数字或中文。JAVA代码
可以使用正则表达式来判断用户名是否合法,以下是Java代码示例:
```java
import java.util.regex.Pattern;
public class UserNameValidator {
public static boolean isValid(String username) {
// 定义正则表达式,只包含字母和数字或中文,长度为6~10位
String pattern = "^[\\u4e00-\\u9fa5a-zA-Z0-9]{6,10}$";
return Pattern.matches(pattern, username);
}
public static void main(String[] args) {
// 测试
String username1 = "abc123";
String username2 = "中文用户名";
String username3 = "abc123中文";
System.out.println(isValid(username1)); // true
System.out.println(isValid(username2)); // true
System.out.println(isValid(username3)); // false
}
}
```
此处使用了Unicode编码的范围来匹配中文字符,`\u4e00`表示中文字符的起始编码,`\u9fa5`表示中文字符的结束编码。
试编写Java代码实现一个登录模块,设计要求: 1.用户名:由字母、数字组成,区分大 小写,长度限制为3-12,且不能为空; 2.密码:由字母和数字组成,不能是单 独的字母或数字,要求以字母开头,长度为6-18 位,区分大小写;
好的,根据您的要求,我可以提供一个 Java 的示例代码实现登录模块:
```java
import java.util.Scanner;
import java.util.regex.Pattern;
public class LoginModule {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
String username;
String password;
// 用户名验证
while (true) {
System.out.print("请输入用户名(3-12位字母或数字,区分大小写):");
username = scanner.nextLine();
if (!Pattern.matches("^[a-zA-Z0-9]{3,12}$", username)) {
System.out.println("用户名格式错误,请重新输入!");
} else {
break;
}
}
// 密码验证
while (true) {
System.out.print("请输入密码(6-18位,以字母开头,由字母和数字组成,区分大小写):");
password = scanner.nextLine();
if (!Pattern.matches("^[a-zA-Z][a-zA-Z0-9]{5,17}$", password) || Pattern.matches("^[a-zA-Z]{6,18}$", password) || Pattern.matches("^[0-9]{6,18}$", password)) {
System.out.println("密码格式错误,请重新输入!");
} else {
break;
}
}
// 登录成功
System.out.println("登录成功!");
}
}
```
该代码中同样使用了正则表达式对用户名和密码进行格式验证,确保输入符合要求,同时也考虑了一些常见的不合法情况,如单独的字母或数字作为密码等。当输入符合要求时,即可登录成功。
阅读全文