VUE-表单验证

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap@4.6.0/dist/css/bootstrap.min.css" integrity="sha384-B0vP5xmATw1+K9KRQjQERJvTumQW0nPEzvF6L/Z6nronJ3oUOFUFpCjEUQouq2+l" crossorigin="anonymous">
    <script src="vue.js"></script>
</head>
<body>
<div id="app">
    <form>
        用户名 <input type="text" name="username" v-model="username">
        手机号 <input type="text" name="mobile" v-model="mobile">
        密码 <input type="password" name="password" v-model="password">
        <button type="button" @click="login" >登录</button>
    </form>
    <p v-for="(v,k) in err_arr">
        {{v}}
    </p>
</div>
</body>
</html>
<script>

    new Vue({
        el:"#app",
        data:{
            auth_user:"zhangsan123",
            auth_pass:"123456",
            auth_mobile:"18518505221",
            username:'',
            password:'',
            mobile:'',
            err_arr:[]
        },
        methods:{
            login(){
                if(this.validate()){
                    alert("登录成功");
                }
            },
            //验证器
            validate(){
                this.err_arr = [];
                if(this.username == ""){
                    this.err_arr.push('用户名不能为空');
                    return false;
                }
                var reg_user = /^[a-zA-Z\u4e00-\u9fa5]\w{6,16}$/;
                if(!reg_user.test(this.username)){
                    this.err_arr.push('用户名格式不正确');
                    return false;
                }

                if(this.mobile == ""){
                    this.err_arr.push('手机号不能为空');
                    return false;
                }
                var reg_mobile = /^1[35678]\d{9}$/;
                if(!reg_mobile.test(this.mobile)){
                    this.err_arr.push('手机号格式不正确');
                    return false;
                }

                if(this.password == ""){
                    this.err_arr.push('密码不能为空');
                    return false;
                }
                var reg_pass = /^\w{6,15}$/;
                if(!reg_pass.test(this.password)){
                    this.err_arr.push('密码格式不正确');
                    return false;
                }

                if(this.auth_mobile == this.mobile  && this.auth_pass == this.password &&  this.auth_user == this.username){
                    this.err_arr = [];
                    return true;
                }else {
                    this.err_arr.push('账号或者密码出错');
                    return false;
                }


            }
        }

    });
</script>

  

posted @ 2021-08-24 01:00  青烟绕指柔  阅读(61)  评论(0编辑  收藏  举报