JavaScript表单验证

<!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>

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值