<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>表单验证</title>
<style>
* {font-size: 13px;}
table{border-collapse:collapse;}
table td{padding: 5px;}
span.pass{color: green;}
span.error{color: red;}
</style>
<script>
window.onload = function(){
document.querySelector('#txtUloginId').addEventListener('blur',checkLoginId);
document.querySelector('#txtPassword').addEventListener('blur',checkPassword);
document.querySelector('#txtRePassword').addEventListener('blur',checkRepassword);
document.querySelector('#txtRealName').addEventListener('blur',checkRealName);
document.querySelector('#txtPostCode').addEventListener('blur',checkPostCode);
document.querySelector('#txtEmail').addEventListener('blur',checktEmail);
document.querySelector('#txtTel').addEventListener('blur',checkTel);
document.querySelector('#txtIdentifiedNo').addEventListener('blur',checkIdentifiedNo);
document.querySelector('#submit').addEventListener('click',checkAll);
}
/*账户非空验证*/
function checkLoginId(){
let txtUloginIdTag =document.querySelector('#txtUloginId');
let sp=document.querySelector('#loginIdErro');
let reg = /^\w+$/;
if(!reg.test(txtUloginIdTag.value)){
sp.innerHTML='账号不能为空';
sp.className='error';
return false;
}
sp.innerHTML='通过(✔)';
sp.className='pass';
return true;
}
/*密码非空以及位数验证*/
function checkPassword(){
let txtPasswordTag = document.querySelector('#txtPassword');
let sp=document.querySelector('#passwordErro');
let reg1 = /^\w+$/ ;
let reg2 = /^\w{6,12}$/;
if(!reg1.test(txtPasswordTag.value)){
sp.innerHTML='密码不能为空';
sp.className="error";
return false;
}else if(!reg2.test(txtPasswordTag.value)){
sp.innerHTML='请输入6-12位密码';
sp.className="error";
return false;
}
sp.innerHTML='通过(✔)';
sp.className='pass';
return true;
}
/*密码相等验证*/
function checkRepassword(){
let txtRePasswordTag = document.querySelector('#txtRePassword');
let txtPasswordTag = document.querySelector('#txtPassword');
let sp=document.querySelector('#rePasswordErro');
let reg1 = /^\w+$/ ;
if(!reg1.test(txtPasswordTag.value)){
sp.innerHTML='密码不能为空';
sp.className="error";
return false;
}else if(txtPasswordTag.value!==txtRePasswordTag.value){
sp.innerHTML='密码不相等!';
sp.className="error";
return false;
}else{
sp.innerHTML='通过(✔)';
sp.className='pass';
return true;
}
}
/*中文验证*/
function checkRealName(){
let txtRealNameTag = document.querySelector('#txtRealName');
let sp = document.querySelector('#realNameErro');
let reg=/^[\u4e00-\u9fa5]{2,}$/;
if(!reg.test(txtRealNameTag.value)){
sp.innerHTML='请输入至少两位中文真实姓名!';
sp.className="error";
return false;
}
sp.innerHTML='通过(✔)';
sp.className='pass';
return true;
}
/*邮政编码验证*/
function checkPostCode(){
let txtPostCodeTag = document.querySelector('#txtPostCode');
let sp = document.querySelector('#postCodeErro');
let reg = /^[\d]{6}$/;
if(!reg.test(txtPostCodeTag.value)){
sp.innerHTML='请输入6位邮政编码'
sp.className='error';
return false;
}
sp.innerHTML='通过(✔)';
sp.className='pass';
return true;
}
/*邮箱验证*/
function checktEmail(){
let txtEmailTag = document.querySelector('#txtEmail');
let sp = document.querySelector('#emailErro');
let reg = /^\w+@\w{2,}.\w{2,3}$/;
if(!reg.test(txtEmailTag.value)){
sp.innerHTML='请输入正确的邮箱'
sp.className='error';
return false;
}
sp.innerHTML='通过(✔)';
sp.className='pass';
return true;
}
/*11位电话号码验证*/
function checkTel(){
let txtTelTag = document.querySelector('#txtTel');
let sp = document.querySelector('#telErro');
let reg = /^1\d{10}$/;
if(!reg.test(txtTelTag.value)){
sp.innerHTML='请输入11位电话号码';
sp.className='error';
return false;
}
sp.innerHTML='通过(✔)';
sp.className='pass';
return true;
}
/*身份证验证*/
function checkIdentifiedNo(){
let txtIdentifiedNoTag = document.querySelector('#txtIdentifiedNo');
let sp = document.querySelector('#identifiedNoErro');
let reg = /^([\d]{17}[\d])|(X|x)$/;
if(!reg.test(txtIdentifiedNoTag.value)){
sp.innerHTML='请输入正确的身份证';
sp.className='error';
return false;
}
sp.innerHTML='通过(✔)';
sp.className='pass';
return true;
}
/*验证所有,提交*/
function checkAll(){
let sp =document.querySelector('submitErro');
if(checkIdentifiedNo()&&checkTel()&&checktEmail()&&checkPostCode()&&checkLoginId()&&checkPassword()&&checkRepassword()&&checkRealName()){
sp.innerHTML='提交成功';
sp.className='pass';
return true;
}else{
sp.innerHTML='提交失败';
sp.className='error';
return false;
}
}
</script>
</head>
<body>
<form action="" method="POST" id="f1">
<table border="1px" width="400px">
<tr>
<td colspan="3">表单验证</td>
</tr>
<tr>
<td>账号:</td>
<td><input type="text" id="txtUloginId"></td>
<td><span id="loginIdErro"></span></td>
</tr>
<tr>
<td>密码:</td>
<td><input type="password" id="txtPassword"></td>
<td><span id="passwordErro"></span></td>
</tr>
<tr>
<td>确认密码:</td>
<td><input type="password" id="txtRePassword"></td>
<td><span id="rePasswordErro"></span></td>
</tr>
<tr>
<td>真实姓名:</td>
<td><input type="text" id="txtRealName">
<td><span id="realNameErro"></span></td>
</tr>
<tr>
<td>邮政编码:</td>
<td><input type="text" id="txtPostCode"></td>
<td><span id="postCodeErro"></span></td>
</tr>
<tr>
<td>邮箱:</td>
<td><input type="text" id="txtEmail"></td>
<td><span id="emailErro"></span></td>
</tr>
<tr>
<td>电话:</td>
<td><input type="text" id="txtTel">
<td><span id="telErro"></span></td>
</tr>
<tr>
<td>身份证:</td>
<td><input type="text" id="txtIdentifiedNo"></td>
<td><span id="identifiedNoErro"></span></td>
</tr>
<tr>
<td colspan="2"><input type="submit" id="submit" value="提交"></td>
<td><span id="submitErro"></span></td>
</tr>
<tr>
<td colspan="2"><input type="reset" id="reset" value="重置"></td>
<td><span></span></td>
</tr>
</table>
</form>
</body>
</html>
JavaScript表单验证
最新推荐文章于 2023-10-19 23:28:30 发布