rules: { password: [ {required:true,message:"请输入用户名称",trigger:'blur'}, {min:6,max:6,message:'长度只能为6个字符'} ], username: [ {required:true,message:"请输入密码名称",trigger:'blur'}, {min:2,max:10,message:'长度只能为2-10个字符'} ] }怎么添加正则
时间: 2023-12-22 17:02:32 浏览: 93
你可以在每个验证规则中添加一个 `pattern` 属性来指定正则表达式,例如:
```
rules: {
password: [
{
required: true,
message: "请输入用户名称",
trigger: 'blur'
},
{
pattern: /^[0-9a-zA-Z]{6}$/,
message: '长度只能为6个字符,且只能包含数字和字母',
trigger: 'blur'
}
],
username: [
{
required: true,
message: "请输入密码名称",
trigger: 'blur'
},
{
pattern: /^[a-zA-Z]{2,10}$/,
message: '长度只能为2-10个字符,且只能包含字母',
trigger: 'blur'
}
]
}
```
在上面的代码中,我们使用了正则表达式来限制输入的内容必须符合规则。注意,正则表达式应该写在 `/ /` 之间,并且要用 `^` 和 `$` 来限定匹配的范围。
相关问题
export default { data: function() { return { // 极验状态开始 isGeeFinish: false, // 极验状态结束 oauth: { signIn: false }, web: this.$store.state.web, form: { account: "", password: "" }, remember_me: 1, rules: { account: [{ required: true, message: '请输入账号', trigger: 'blur' }, { min: 5, max: 16, message: '长度在 5 到 16 个字符', trigger: 'blur' } ], password: [{ required: true, message: '请输入密码', trigger: 'blur' }, { min: 5, max: 16, message: '长度在 5 到 16 个字符', trigger: 'blur' } ] } } },
这是一个 Vue.js 组件的代码,其中包含了一些数据和规则。其中,data() 函数返回一个对象,包含了组件中使用的数据。isGeeFinish 表示极验是否完成,oauth.signIn 表示用户是否已登录,web 是从 Vuex store 中获取的网站配置信息。form 包含用户的账号和密码,remember_me 是一个布尔值,表示用户是否选择记住密码。rules 是用于表单验证的规则,包含了账号和密码的必填和长度限制规则。这段代码可能是一个登录组件的一部分。
</head> <body> <el-form id="login" class="demo-ruleForm" :rules="rules" :model="ruleForm"> <el-form-item label="用户名" prop="username"> <el-input v-model="ruleForm.username"></el-input> </el-form-item> <el-form-item label="密码" prop="password"> <el-input v-model="ruleForm.password" type="password"></el-input> </el-form-item> <el-form-item> <el-button type="primary" @click="loginHandler()">登录</el-button> </el-form-item> </el-form> </body> <script> new Vue({ el: "#login", data() { return { ruleForm:{ username: "", password: "", }, rules: { username: [{ required: true, message: '请输入用户名', trigger: 'blur' }, { min: 2, max: 10, message: '长度在 2 到 10 个字符', trigger: 'blur' } ], password: [{ required: true, message: '请输入密码', trigger: 'blur' }, { min: 2, max: 10, message: '长度在 2 到 10 个字符', trigger: 'blur' } ] } } }, methods: { loginHandler() { axios.post("http://localhost:9000/mvc_web/login?username="+this.ruleForm.username + "&password=" + this.ruleForm.password).then(function(response) { if(response.status==200){ if(response.data.id!=0){ //将数据保存在本地缓存中 /* window.localStorage.setItem("user",JSON.stringify(response.data)) */ //将数据保存到服务器中 sessionStorage.setItem("user",JSON.stringify(response.data)) window.location.href="home.html"} else{ console.log("账户或密码错误,请重新输入") } } }) .catch(function(error) { console.log(error) }) } } }) </script> </html> //Home.html <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title></title> <script src="js/vue.js"></script> </head> <body> <div id="home"> 欢迎{{user.username}}登录 </div> </body> <script> new Vue({ el:"#home", data:{ user:JSON.parse(sessionStorage.getItem("user")) } }) </script> </html>解释每行代码
这段代码是一个基于Vue.js的前端页面,主要包含两个部分:一个是登录页面,另一个是主页。
在登录页面部分,代码中的el-form组件是一个表单组件,包含用户名和密码两个输入框以及登录按钮。其中,v-model指令用于实现数据的双向绑定,rules属性用于设置表单验证规则。loginHandler方法是登录按钮的点击事件处理函数,通过Axios库向服务器发送POST请求,将用户名和密码作为参数传递给后台,如果登录成功则将用户信息保存在sessionStorage中,跳转到主页;否则在控制台输出错误信息。
在主页部分,代码中的div元素用于展示欢迎信息,通过Vue.js实现数据的双向绑定,显示当前登录用户的用户名。其中,JSON.parse方法用于将sessionStorage中保存的JSON字符串转换为JavaScript对象,从而实现数据的获取和展示。
阅读全文