常用 rules 正则校验

// 手机号校验
const mobile = /^((13[0-9])|(14[5,7])|(15[0-3,5-9])|(17[0,3,5-8])|(18[0-9])|166|198|199|(147))\d{8}$/.test(value)
// 固话校验
const telephone = /^(\(\d{3,4}\)|\d{3,4}-|\s)?\d{7,14}$/.test(value)
// 国内座机号码
const mobile =/\d{3}-\d{8}|\d{4}-\d{7}/$
// 固话或手机号校验
const PhoneData = /^((0\d{2,3}-\d{7,8})|(1[34578]\d{9}))$/.test(value)
// 邮箱校验
const EMail1 = /^[a-zA-Z0-9_-]+@[a-zA-Z0-9_-]+(\.[a-zA-Z0-9_-]+)+$/.test(value)
const EMail2 =/^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$/.test(value)
// 税号校验
const EMail = /^[A-Z0-9]{15,20}$/.test(value)
// 是否合法 IP 地址
const ip = /^(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])\.(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])\.(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])\.(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])$/.test(value)

// 校验数据中是否只存在 中英数字 (判断条件取反可以判断是否存在所有的特殊符号(包含空格)) 
const hasWords1 = /^[\u4E00-\u9FA5A-Za-z0-9]+$/.test(value)
// 校验数据中是否只存在 中英数字空格
const hasWords2 = /^[\u4E00-\u9FA5A-Za-z0-9 ]+$/.test(value)

// 校验数据中是否存在 emoji 表情
const hasEmoticon = /[\u{1F601}-\u{1F64F}\u{2702}-\u{27B0}\u{1F680}-\u{1F6C0}\u{1F170}-\u{1F251}\u{1F600}-\u{1F636}\u{1F681}-\u{1F6C5}\u{1F30D}-\u{1F567}]/gu.test(value)

// 去除数据中的所有空格 ( v-model.trim() 只能去除输入框的前后空格,夹在数据中的不能 )
const filterTrim = data.replace(/\s/g, ""))

// 限制用户输入数字并保留 6 位小数 οninput="value=value.replace(/^\D*(\d*(?:\.\d{0,6})?).*$/g, '$1')" 
 <el-input type="text" v-model="form.nBoardMaterial" oninput="value=value.replace(/^\D*(\d*(?:\.\d{0,6})?).*$/g, '$1')" />

// 输入时限制用户只能输入数字
 <el-input clearable maxlength="11" placeholder="请输入手机号码" v-model.trim="dialogForm.mobile"  oninput="value=value.replace(/\D/g,'')" @blur="handleBlur"/>
// 起作用的代码: οninput="value=value.replace(/\D/g,'')"
// 用这个输入时有个bug, 如果首次输入的不是数字,oninput在处理你输入的值时,会处理成空值,那么 v-model 上绑定的数据一定为空,就算你清空输入框并重新输入了数字显示在了input上,v-model还是绑定的上次的空数值,解决方法:@blur="handleBlur" 失去焦点后,重新赋值,handleBlur(e){ this.dialogForm.mobile = e.target.value }

// 限定为8-20位,必含数字、字母、特殊字符中两类
const regFormat = /^(?=.*\d)(?=.*[a-zA-Z])(?=.*[~!@#$%^&*()_+`\-={}:";'<>?,.\/]).{8,20}$/
regFormat.test(val)

// 账号校验 (限制 6-20 位的字母和数字组合)
const WM = /^(?![0-9]*$)(?![a-zA-Z]*$)[a-zA-Z0-9]{6,20}$/.test(value)
// 正整数
const isNum = /^[1-9][0-9]*$/.test(value)
// 包含小数点的纯数字
const checkNum = /^\d+$|^\d+[.]?\d+$/.test(value)
// 验证端口是否在[0,65535]之间
const prot = /^([0-9]|[1-9]\d|[1-9]\d{2}|[1-9]\d{3}|[1-5]\d{4}|6[0-4]\d{3}|65[0-4]\d{2}|655[0-2]\d|6553[0-5])$/.test(value)
// 两位小数
const twoNum = /(^[1-9]([0-9]+)?(\.[0-9]{1,2})?$)|(^(0){1}$)|(^[0-9]\.[0-9]([0-9])?$)/.test(value)
// 小数点后面保留 自定义位数 
const isTrue = /^[0-9]+(.[0-9]{1,自定义位数})?$/.test(value)
// 最多一位小数
const oneNum = /^[0-9]+([.]{1}[0-9]{1})?$/.test(value)

// 字母与文字
const chanese = /^[\u0391-\uFFE5A-Za-z]+$/.test(value)
// 验证内容是否包含英文数字以及下划线
const checkEngNum= /^[_a-zA-Z0-9]+$/.test(value)
// 包含字母数字 可自定义是否包含特殊字符  
// 如: 限制包含 横杠大小括号的特殊字符  /^[-()a-zA-Z0-9]+$/.test(value)
const checkEngNum= /^[自定义特殊字符a-zA-Z0-9]+$/.test(value)


// 密码校验 (请输入 6-20 位英文字母、数字或者符号(除空格),且字母、数字和标点符号至少包含两种)
const pwd = /^(?![\d]+$)(?![a-zA-Z]+$)(?![^\da-zA-Z]+$)([^\u4e00-\u9fa5\s]){6,20}$/.test(value)
const pwd2 =/^(?=.*([a-zA-Z].*))(?=.*[0-9].*)[a-zA-Z0-9-_]{8,16}$/g.test(value)
//不能输入特殊字符
const a = /[`~!@#$^\-+&*()=|{}':;',\\\[\]\.<>\/?~!@#¥……&*()——|{}【】';:""'。,、?\s]/g
// 大小写字母
const Aa = /^[A-Za-z]+$/.test(value)
// 小写字母
const a = /^[a-z]+$/.test(value)
// 大写字母
const A = /^[A-Z]+$/.test(value)

// 身份校验
// 大陆身份证
const ID = /(^\d{15}$)|(^\d{18}$)|(^\d{17}(\d|X|x)$)/.test(value)
// 港
const HKId = /^((\s?[A-Za-z])|([A-Za-z]{2}))\d{6}(\([0−9aA]\)|[0-9aA])$/.test(value)
// 澳
const OMId = /^[1|5|7][0-9]{6}\([0-9Aa]\)/.test(value)
// 台
const TWId = /^[a-zA-Z][0-9]{9}$/.test(value)
//护照
const passPort = /^([a-zA-z]|[0-9]){5,17}$/.test(value)
// 军官证
const MilitaryID = /^[\u4E00-\u9FA5](字第)([0-9a-zA-Z]{4,8})(号?)$/.test(value)
// 组织机构代码
const orgID = /^([a-zA-z]|[0-9]){9}$/.test(value)
// 营业执照
const businessID = /[^_IOZSVa-z\W]{2}\d{6}[^_IOZSVa-z\W]{10}/g.test(value)


评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值