validate.js(常用验证)
Installing:
$ npm install --save validate.js var validate = require("validate.js");
使用过程:
html
<el-form class="login_box" ref="user" :model="user" :rules="rules2"> <div class="role">观众</div> <div class="message"> <div class="mes_box"> <el-form-item class="mes_li" label="手机号" prop="phone"> <input type="text" placeholder="" class="mes_text" v-model="user.phone"> </el-form-item> <el-form-item class="mes_li" label="验证码" prop="pas"> <input type="password" placeholder="" class="mes_text mes_text_short" v-model="user.pas"> <img class="checked" v-if="codeShow" @click="validateBtn()" src="../assets/images/login/checked.png" alt=""> <div class="checked checkTime" v-if="!codeShow">{{ btnTitle }}</div> </el-form-item> <div class="mes_but"> <div class="but"> <img @click="hjSubmite('user')" src="../assets/images/login/login.png" alt=""> </div> <div class="but"> <img @click="torregister()" src="../assets/images/login/register.png" alt=""> </div> </div> </div> </div> </el-form>
js
<script> import { validateNull, validateLength, validateSpace, validateSpecial, validateMobile, validateNumber } from '../assets/javascript/validate.js'; export default { name: "login", data() { return { codeShow:true, btnTitle:'', user: { phone: '', pas: '' }, rules2: { // 表单验条件 phone: [ {validator: validateNull, trigger: 'blur'},//表单验证填写(必填项不能为空) {validator: validateLength, trigger: 'blur'},//表单验证填写(长度验证) {validator: validateSpace, trigger: 'blur'},//表单中出现空格验证 {validator: validateSpecial, trigger: 'blur'}, //表单中输入中出现特殊字符 {validator: validateMobile, trigger: 'blur'} //手机号验证 ], pas: [ {validator: validateNull, trigger: 'blur'},//表单验证填写(必填项不能为空) {validator: validateLength, trigger: 'blur'},//表单验证填写(长度验证) {validator: validateSpace, trigger: 'blur'},//表单中出现空格验证 {validator: validateNumber, trigger: 'blur'}//表单验证填写 (必须为数字) ] } } }, created() { }, methods: { } } </script>
validate.js文件
// 表单验证不能出现中文 export function validateChinese(rule, value, callback) { const regNu = /^[a-zA-Z0-9_]{0,}$/; if (!regNu.test(value)) { return callback(new Error('不能出现中文字符!')); } else { callback(); } } //表单验证填写 (必须为数字) export function validateNumber(rule, value, callback) { const regNu = /^[0-9]*$/; if (!regNu.test(value)) { return callback(new Error('请输入数字')); } else { callback(); } }; //表单验证填写(必填项不能为空) export function validateNull(rule, value, callback) { if (value === "") { return callback(new Error('必填项不能为空!')); } else { callback(); } }; //表单验证填写(长度验证) export function validateLength (rule, value, callback) { if (value.length >= 14 || value.length < 2) { return callback(new Error('长度为3位 ~ 14位!')); } else { callback(); } }; //表单中出现空格验证 export function validateSpace(rule, value, callback) { if (typeof value != 'string') { console.warn('表单验证接收value的类型错误'); } if (value.indexOf(" ") == -1) { callback(); } else { return callback(new Error('不能包含空格!')); } }; // 表单中输入中出现特殊字符 export function validateSpecial(rule, value, callback) { const regEn = /[`~!@#$%^&*()_+<>?:"{},.\/;'[\]]/im; const regCn = /[·!#¥(——):;“”‘、,|《。》?、【】[\]]/im; if (regEn.test(value) || regCn.test(value)) { return callback(new Error('不能包含特殊字符!')); } else { callback(); } }; //表单中输入手机号验证 export function validateMobile(rule, value, callback) { const mobile = /^[1][3,4,5,7,8,6][0-9]{9}$/; if (mobile.test(value)) { callback(); } else { return callback(new Error('手机号输入错误!')); } } //表单中输入邮箱验证 export function validateEmail(rule, value, callback) { const email = /^[A-Za-z\d]+([-_.][A-Za-z\d]+)*@([A-Za-z\d]+[-.])+[A-Za-z\d]{2,4}$/; if (email.test(value)) { callback(); } else { return callback(new Error('邮箱输入错误!')); } } //验证网址 export function validateHttps(rule, value, callback) { const htps = /^((https?|ftp|file):\/\/)?([\da-z\.-]+)\.([a-z\.]{2,6})([\/\w \.-]*)*\/?$/; if (htps.test(value)) { callback(); } else { return callback(new Error('请输入正确网址!')); } }
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 零经验选手,Compose 一天开发一款小游戏!
· 通过 API 将Deepseek响应流式内容输出到前端
· AI Agent开发,如何调用三方的API Function,是通过提示词来发起调用的吗