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