<!DOCTYPE html> <html> <head> <title></title> <!-- 引入样式 --> <link rel="stylesheet" href="https://unpkg.com/element-ui/lib/theme-chalk/index.css"> </head> <body> <div id="app"> <el-form :rules="rules" :model="obj" ref="formName" label-width="100px" class="demo-ruleForm"> <el-form-item label="参数" prop="param"> <el-input v-model="obj.param" auto-complete="off"></el-input> </el-form-item> <el-form-item label="参数1" prop="param1"> <el-input v-model="obj.param1" auto-complete="off"></el-input> </el-form-item> <el-form-item> <el-button type="primary" @click="submitForm('formName')">提交</el-button> <el-button @click="resetForm('formName')">重置</el-button> </el-form-item> </el-form> </div> <script type="text/javascript" src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script> <!-- 引入组件库 --> <script src="https://unpkg.com/element-ui/lib/index.js"></script> <script type="text/javascript"> const app = new Vue({ el: '#app', data: function(){ const type = 'string'; // string,number,mail,date等等 const regExp = /^1[34578]\d{9}$/; let validateSelf = ((rule, value, callback) => { if(pass){ // 输入内容通过验证,也就是正确的,什么也不用提示 callback() }else{ callback('Error Info') // 给出自定义提示 // callback(new Error('Error tip')) // 此处也接受一个Error实例 } }) return { rules:{ param: [ { required: true, message: '空文本提示', trigger: 'blur, change' }, { type: type, message: '类型校验提示文本' }, { pattern: regExp, message: '正则匹配提示文本' }, { validator: validateSelf, trigger: 'blur' } ], param1: [ { required: true, message: '空文本提示', trigger: 'blur, change' }, { type: type, message: '类型校验提示文本' }, { pattern: regExp, message: '正则匹配提示文本' }, { validator: validateSelf, trigger: 'blur' } ], }, obj: { param: '', param1: '' } } }, methods:{ submitForm(formName) { this.$refs[formName].validate((valid) => { if (valid) { // 验证通过之后的操作 // ... } else { // 验证不通过之后的操作 // ... return false; } }); }, resetForm(formName) { this.$refs[formName].resetFields(); } } }) </script> </body> </html>
另附上别人总结的一篇正则表达式大全,开发过程中提供了巨大帮助,原文转自(不会弄):https://blog.csdn.net/qq_28633249/article/details/77686976