编写一个方法,校验用户输入的用户名是否正确,具体规则如下: 要求用户名长度应该在8-20位之间 ;用户名只能有字母,数字和下划线组成
时间: 2024-05-19 07:12:47 浏览: 95
public static boolean checkUsername(String username) {
// 判断长度是否符合要求
if (username.length() < 8 || username.length() > 20) {
return false;
}
// 判断是否只有字母,数字和下划线
for (int i = 0; i < username.length(); i++) {
char c = username.charAt(i);
if (!(c >= 'a' && c <= 'z' || c >= 'A' && c <= 'Z' || c >= '0' && c <= '9' || c == '_')) {
return false;
}
}
return true;
}
相关问题
编写JavvaScript代码实现用户登录书数据合法性校验功能,界面如图15-16所示,具体要求如下必填项验证--用户名文本输入框、密码输入框必须含有值2有效性验证--用户名、密码长度大于等于8个字符,小于等于20个字符
在JavaScript中实现用户登录表单的数据合法性校验,你可以使用HTML和一些简单的JavaScript来完成。首先,设置好表单元素的`input`标签,然后添加事件监听器来检查用户输入。这里是一个基本示例:
```html
<!DOCTYPE html>
<html lang="zh">
<head>
<meta charset="UTF-8">
<title>用户登录</title>
</head>
<body>
<form id="loginForm">
<label for="username">用户名:</label>
<input type="text" id="username" required minlength="8" maxlength="20"><br>
<label for="password">密码:</label>
<input type="password" id="password" required minlength="8" maxlength="20"><br>
<button type="submit">提交</button>
</form>
<script>
const form = document.getElementById('loginForm');
form.addEventListener('submit', function (event) {
event.preventDefault(); // 阻止表单默认提交
// 获取输入的用户名和密码
const usernameInput = document.getElementById('username').value;
const passwordInput = document.getElementById('password').value;
if (!usernameInput || !passwordInput) {
alert('请输入用户名和密码!');
return; // 如果为空,则显示错误提示并结束校验
}
if (usernameInput.length < 8 || usernameInput.length > 20 ||
passwordInput.length < 8 || passwordInput.length > 20) {
alert('用户名和密码长度应为8到20个字符!');
return;
}
// 如果所有条件都满足,才允许提交表单
this.submit();
});
</script>
</body>
</html>
```
使用JS编写check()函数对上一个练习的登录进行前端校验,要求: 用户名不能为空,且必须为纯数字; 密码长度至少为8位,首位必须为大写字母; 如果不符合要求,请弹窗提示用户。
你可以创建一个名为`check()`的JavaScript函数来实现这个前端验证。首先,你需要获取用户名和密码输入框的值,并使用正则表达式检查它们是否符合规定。以下是一个简单的示例:
```javascript
function check() {
const username = document.getElementById('username').value;
const password = document.getElementById('password').value;
// 验证用户名规则
if (!/^\d+$/.test(username)) { // 纯数字验证
alert("用户名只能包含数字!");
return false;
}
// 验证密码规则
const passwordPattern = /^(?=.*[A-Z])(?=.*\d)[A-Za-z\d]{8,}$/; // 至少8位,首字符大写,剩余任意字符
if (!passwordPattern.test(password)) {
alert("密码必须至少8位,首位必须是大写字母!");
return false;
}
// 没有错误,返回true表示验证通过
return true;
}
```
在这个例子中,我们使用了正则表达式进行模式匹配。当验证失败时,会显示相应的提示信息并返回`false`。如果所有条件都满足,则返回`true`。
阅读全文