js,HTML编写注册账号,含有登入账号,昵称,密码,上传头像,验证用正则表达
时间: 2023-05-29 15:08:04 浏览: 45
式
HTML代码:
```
<form>
<label for="username">登录账号:</label>
<input type="text" id="username" name="username" required><br>
<label for="nickname">昵称:</label>
<input type="text" id="nickname" name="nickname" required><br>
<label for="password">密码:</label>
<input type="password" id="password" name="password" required><br>
<label for="avatar">上传头像:</label>
<input type="file" id="avatar" name="avatar"><br>
<button type="submit">注册</button>
</form>
```
其中,每个输入框都有一个`id`和`name`属性,用于在JavaScript中获取其值。此外,`required`属性表示该输入框必须填写。
JavaScript代码:
```
const form = document.querySelector('form');
form.addEventListener('submit', (event) => {
event.preventDefault(); // 阻止表单默认提交行为
const username = document.querySelector('#username').value;
const nickname = document.querySelector('#nickname').value;
const password = document.querySelector('#password').value;
const avatar = document.querySelector('#avatar').value;
// 验证输入的值是否符合要求
const usernameRegex = /^[a-zA-Z0-9_]{6,20}$/; // 登录账号只能由6-20位字母、数字、下划线组成
const nicknameRegex = /^[\u4e00-\u9fa5a-zA-Z0-9_]{2,10}$/; // 昵称只能由2-10位中文、字母、数字、下划线组成
const passwordRegex = /^(?=.*[A-Za-z])(?=.*\d)[A-Za-z\d]{8,}$/; // 密码必须由至少8位字母和数字组成
if (!usernameRegex.test(username)) {
alert('登录账号格式不正确');
return;
}
if (!nicknameRegex.test(nickname)) {
alert('昵称格式不正确');
return;
}
if (!passwordRegex.test(password)) {
alert('密码格式不正确');
return;
}
console.log('注册成功');
});
```
在JavaScript中,我们使用`document.querySelector`获取输入框的值,并使用正则表达式验证其格式是否正确。如果验证不通过,弹出提示框提示用户重新输入。如果验证通过,输出注册成功的信息。