js,HTML编写注册账号,含有登入账号,昵称,密码,上传头像,验证用正则表达,上传头像图片文件后缀必须是.png
时间: 2023-06-01 18:02:17 浏览: 97
js登陆验证与注册验证,正则表达式
3星 · 编辑精心推荐
首先,我们需要一个HTML表单来获取用户输入的信息。下面是一个基本的表单结构,包括输入框、文件上传和提交按钮。
```html
<form>
<label for="username">登入账号:</label>
<input type="text" id="username" name="username"><br>
<label for="nickname">昵称:</label>
<input type="text" id="nickname" name="nickname"><br>
<label for="password">密码:</label>
<input type="password" id="password" name="password"><br>
<label for="avatar">上传头像:</label>
<input type="file" id="avatar" name="avatar" accept=".png"><br>
<input type="submit" value="注册">
</form>
```
注意,我们使用了`accept=".png"`属性来限制用户只能上传后缀为`.png`的图片文件。
接下来,我们需要使用JavaScript来验证用户输入的信息。我们可以在提交表单时,使用`preventDefault()`方法来阻止表单自动提交,然后进行一些自定义的验证。
```javascript
const form = document.querySelector('form');
form.addEventListener('submit', function(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_-]{4,16}$/;
const nicknameRegex = /^.{1,20}$/;
const passwordRegex = /^.{6,32}$/;
const avatarRegex = /^.*\.png$/;
if (!usernameRegex.test(username)) {
alert('登入账号必须由4-16位字母、数字、下划线或短横线组成');
return;
}
if (!nicknameRegex.test(nickname)) {
alert('昵称必须为1-20个字符');
return;
}
if (!passwordRegex.test(password)) {
alert('密码必须由6-32个字符组成');
return;
}
if (!avatarRegex.test(avatar)) {
alert('头像必须为png格式的图片');
return;
}
// 验证通过,可以提交表单
alert('恭喜,注册成功!');
});
```
上面的代码使用了正则表达式来验证用户输入的信息。如果验证失败,就会弹出一个提示框,并阻止表单提交。如果验证通过,就弹出一个成功提示框,并让表单提交。
完整的HTML和JavaScript代码如下:
```html
<!DOCTYPE html>
<html>
<head>
<title>注册账号</title>
</head>
<body>
<h1>注册账号</h1>
<form>
<label for="username">登入账号:</label>
<input type="text" id="username" name="username"><br>
<label for="nickname">昵称:</label>
<input type="text" id="nickname" name="nickname"><br>
<label for="password">密码:</label>
<input type="password" id="password" name="password"><br>
<label for="avatar">上传头像:</label>
<input type="file" id="avatar" name="avatar" accept=".png"><br>
<input type="submit" value="注册">
</form>
<script>
const form = document.querySelector('form');
form.addEventListener('submit', function(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_-]{4,16}$/;
const nicknameRegex = /^.{1,20}$/;
const passwordRegex = /^.{6,32}$/;
const avatarRegex = /^.*\.png$/;
if (!usernameRegex.test(username)) {
alert('登入账号必须由4-16位字母、数字、下划线或短横线组成');
return;
}
if (!nicknameRegex.test(nickname)) {
alert('昵称必须为1-20个字符');
return;
}
if (!passwordRegex.test(password)) {
alert('密码必须由6-32个字符组成');
return;
}
if (!avatarRegex.test(avatar)) {
alert('头像必须为png格式的图片');
return;
}
// 验证通过,可以提交表单
alert('恭喜,注册成功!');
});
</script>
</body>
</html>
```
阅读全文