java验收用户名是否输入正确(不可以用正则表达式),要求: 1、 必须是数字、大写字母、小写字母、下划线中的三种组成 2、 首字母必须是字母或下划线开头 3、 字符长度4-10
时间: 2024-05-06 07:18:11 浏览: 47
java 检查用户名的合法性
可以使用以下代码来验收用户名是否输入正确:
```
public boolean validateUsername(String username) {
// 首先判断长度是否符合要求
if (username.length() < 4 || username.length() > 10) {
return false;
}
// 判断首字母是否是字母或下划线
char firstChar = username.charAt(0);
if (!((firstChar >= 'a' && firstChar <= 'z') || (firstChar >= 'A' && firstChar <= 'Z') || firstChar == '_')) {
return false;
}
// 统计用户名中包含的字符种类数
boolean hasNumber = false;
boolean hasUpperCase = false;
boolean hasLowerCase = false;
boolean hasUnderline = false;
for (int i = 0; i < username.length(); i++) {
char c = username.charAt(i);
if (c >= '0' && c <= '9') {
hasNumber = true;
} else if (c >= 'A' && c <= 'Z') {
hasUpperCase = true;
} else if (c >= 'a' && c <= 'z') {
hasLowerCase = true;
} else if (c == '_') {
hasUnderline = true;
}
}
// 统计符合要求的字符种类数
int count = 0;
if (hasNumber) {
count++;
}
if (hasUpperCase) {
count++;
}
if (hasLowerCase) {
count++;
}
if (hasUnderline) {
count++;
}
// 判断是否符合要求
return count >= 3;
}
```
该方法先判断用户名的长度是否符合要求,然后判断首字母是否是字母或下划线。接着统计用户名中包含的字符种类数,并判断是否符合要求。其中,使用了四个 boolean 变量来记录用户名中是否包含数字、大写字母、小写字母、下划线。最后,根据符合要求的字符种类数来判断用户名是否输入正确。
阅读全文