self_example/java_web/JavaScript/html/17-表单验证案例.html

143 lines
4.2 KiB
HTML
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>17-表单验证案例</title>
<link href="../css/register.css" rel="stylesheet">
</head>
<body>
<div class="form-div">
<div class="reg-content">
<h1>欢迎注册</h1>
<span>已有账号? </span> <a href="#">登录</a>
</div>
<form id="reg_form" action="#" method="post">
<table>
<tr>
<td align="center">用户名</td>
<td>
<input type="text" name="username" id="username">
<br>
<span id="username_err" class="err_msg" style="display: none">用户名不太受欢迎</span>
</td>
</tr>
<tr>
<td align="center">密码</td>
<td>
<input type="text" name="password" id="password">
<br>
<span id="password_err" class="err_msg" style="display: none">密码格式不正确</span>
</td>
</tr>
<tr>
<td align="center">手机号</td>
<td>
<input type="text" name="tel" id="tel">
<br>
<span id="tel_err" class="err_msg" style="display: none">用户名不太受欢迎</span>
</td>
</tr>
</table>
<div class="buttons">
<input type="submit" value="注 册" id="reg_btn">
</div>
<br class="clear">
</form>
</div>
<script>
//1.验证用户名是否符合规则
//1.1 获取用户名的输入框
var usernameInput = document.getElementById("username");
//1.2 绑定onblur事件 失去焦点
usernameInput.onblur = checkUsername;
function checkUsername() {
//1.3获取用户输入的用户名
var username = usernameInput.value.trim();
//1.4 判断用户名是否符合规则:长度 6~12
var reg=/^\w{6,12}$/;
var flag = reg.test(username);
if (flag) {
//符合规则
document.getElementById("username_err").style.display = "none";
} else {
//不符合规则
document.getElementById("username_err").style.display = "";
}
return flag;
}
//1.验证密码是否符合规则
//1.1 获取密码的输入框
var passwordInput = document.getElementById("password");
//1.2 绑定onblur事件 失去焦点
passwordInput.onblur = checkPassword;
function checkPassword() {
//1.3获取用户输入的密码
var password = passwordInput.value.trim();
//1.4 判断密码是否符合规则:长度 6~12,单词字符组成
var reg=/^\w{6,12}$/;
var flag=reg.test(password);
if (flag) {
//符合规则
document.getElementById("password_err").style.display = "none";
} else {
//不符合规则
document.getElementById("password_err").style.display = "";
}
return flag;
}
//1.验证手机号是否符合规则
//1.1 获取手机号的输入框
var telInput = document.getElementById("tel");
//1.2 绑定onblur事件 失去焦点
telInput.onblur = checkTel;
function checkTel() {
//1.3获取用户输入的手机号
var tel = telInput.value.trim();
//1.4 判断手机号是否符合规则:长度 11,数字组成第一位是1
var reg=/^[1]\d{10}$/;
var flag=reg.test(tel);
if (flag) {
//符合规则
document.getElementById("tel_err").style.display = "none";
} else {
//不符合规则
document.getElementById("tel_err").style.display = "";
}
return flag
}
//表单提交验证
//1.获取表单对象
var regForm = document.getElementById("reg_form");
//2.绑定onsubmit事件
regForm.onsubmit = function () {
//挨个判断每一个表单相是否都符合要求如果有一个不符合则返回false
var flag = checkUsername() && checkPassword() && checkTel();
return flag;
}
</script>
</body>
</html>