Vue中常见正则匹配校验大全

 1. 常见校验正则判断:

/**
 * @description 身份证正则
 * @param str
 * @returns {boolean}
 */
export function isIDCardReg(str: string) {
	const reg = /^[1-9]\d{5}(18|19|20|(3\d))\d{2}((0[1-9])|(1[0-2]))(([0-2][1-9])|10|20|30|31)\d{3}[0-9Xx]$/
	return reg.test(str)
}

/**
 * @description 判断是否为固话
 * @param str
 * @returns {boolean}
 */
export function isTel(str: string) {
	const reg = /^(400|800)([0-9\\-]{7,10})|(([0-9]{4}|[0-9]{3})(-| )?)?([0-9]{7,8})((-| |转)*([0-9]{1,4}))?$/;
	return reg.test(str);
}

/**
 * @description 判断是否是国内手机号
 * @param str
 * @returns {boolean}
 */
export function isPhone(str: string) {
	const reg = /^1[3456789]\d{9}$/
	return reg.test(str)
}

/**
 * @description 判断是否符合国际手机号格式
 * @param code 区号
 * @param str  手机号
 * @returns {boolean}
 */
export function isLoginPhone(code: string | number, str: string) {
	const reg = /^1[3456789]\d{9}$/
	const allReg = /^[1-9]\d{0,3}-\d{7,11}$/
	return code == '86' ? reg.test(str) : allReg.test(`${code}-${str}`)
}

/**
 * @description 判断是否是身份证号(第二代)
 * @param str
 * @returns {boolean}
 */
export function isIdCard(str: string) {
	const reg = /^[1-9]\d{5}(18|19|([23]\d))\d{2}((0[1-9])|(10|11|12))(([0-2][1-9])|10|20|30|31)\d{3}[0-9Xx]$/;
	return reg.test(str);
}

/**
 * @description 判断是否是邮箱
 * @param str
 * @returns {boolean}
 */
export function isEmail(str: string) {
	const reg = /^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$/;
	return reg.test(str);
}

/**
 * @description 判断是否中文
 * @param str
 * @returns {boolean}
 */
export function isChina(str: string) {
	const reg = /^[\u4E00-\u9FA5]{2,4}$/;
	return reg.test(str);
}

/**
 * @description 判读是否为外链
 * @param path
 * @returns {boolean}
 */
export function isExternal(path: string) {
	return /^(https?:|mailto:|tel:)/.test(path);
}

/**
 * @description 判读是否为链接
 * @param path
 * @returns {boolean}
 */
export function isUrl(path: string) {
	return /http(s)?:\/\/([\w-]+\.)+[\w-]+(\/[\w- ./?%&=]*)?/.test(path);
}

/**
 * @description 校验密码是否小于6位
 * @param str
 * @returns {boolean}
 */
export function isPassword(str: string) {
	return /^[0-9a-zA-Z]{6,16}$/.test(str);
}

/**
 * @description 校验QQ
 * @param str
 * @returns {boolean}
 */
export function isQQ(str: string) {
	return /^[1-9][0-9]{4,10}$/.test(str);
}

/**
 * @description 校验WX
 * @param str
 * @returns {boolean}
 */
export function isWx(str: string) {
	return /^[-_a-zA-Z0-9]{5,19}$/.test(str);
}

/**
 * @description 校验银行卡
 * @param str
 * @returns {boolean}
 */
export function isBank(str: string) {
	return /^[1-9]\d{9,29}$/.test(str);
}

/**
 * @description 校验支付宝
 * @param str
 * @returns {boolean}
 */
export function isZFB(str: string) {
	return /^(?:1[3-9]\d{9}|[a-zA-Z\d._-]*\@[a-zA-Z\d.-]{1,10}\.[a-zA-Z\d]{1,20})$/.test(str);
}

/**
 * @description 是否是链接
 * @param str
 * @returns {boolean}
 */
export function isUrl(path: string): boolean {
  const reg
    = /(((^https?:(?:\/\/)?)(?:[-;:&=\+\$,\w]+@)?[A-Za-z0-9.-]+(?::\d+)?|(?:www.|[-;:&=\+\$,\w]+@)[A-Za-z0-9.-]+)((?:\/[\+~%\/.\w-_]*)?\??(?:[-\+=&;%@.\w_]*)#?(?:[\w]*))?)$/
  return reg.test(path)
}

2. 常见element输入框格式校验:

// 1.限制input输入框只能输入大小写字母、数字、下划线的正则表达式:
<el-input type="text" onkeyup="this.value=this.value.replace(/[^\w_]/g,'');"> 

// 2.限制input输入框只能输入小写字母、数字、下划线的正则表达式:
<el-input type="text" onkeyup="this.value=this.value.replace(/[^a-z0-9_]/g,'');"> 

// 3.限制input输入框只能输入数字和点的正则表达式:
<el-input type="text" onkeyup="value=value.replace(/[^\d.]/g,'')">

// 4.限制input输入框只能输入中文的正则表达式:
<el-input type="text" onkeyup="this.value=this.value.replace(/[^\u4e00-\u9fa5]/g,'')">  

// 5.限制input输入框只能输入数字的正则表达式:
<el-input type="text" onkeyup="this.value=this.value.replace(/\D/g,'')"> 

// 6.限制input输入框只能输入英文的正则表达式:
<el-input type="text" onkeyup="this.value=this.value.replace(/[^a-zA-Z]/g,'')">

// 7.限制input输入框只能输入中文、数字、英文的正则表达式:
<el-input onkeyup="value=value.replace(/[^\w\u4E00-\u9FA5]/g, '')">  

// 8.限制input输入框只能输入数字和字母的正则表达式:
<el-inputt onKeyUp="value=value.replace(/[\W]/g,'')">  

// 9.限制input输入框除了英文的标点符号以外,其他的都可以中文,英文字母,数字,中文标点的正则表达式:
<el-input type="text" onkeyup="this.value=this.value.replace(/^[^!@#$%^&*()-=+]/g,'')">

// 10.限制input输入框只能输入数字代码(小数点也不能输入)的正则表达式:
<el-input onkeyup="this.value=this.value.replace(/\D/g,'')" onafterpaste="this.value=this.value.replace(/\D/g,'')">

// 11.限制input输入框只能输入数字,能输小数点.的正则表达式:
<el-input onkeyup="if(isNaN(value))execCommand('undo')" onafterpaste="if(isNaN(value))execCommand('undo')">
<el-input name=txt1 onchange="if(/\D/.test(this.value)){alert('只能输入数字');this.value='';}">

// 12.限制input输入框只能输入字母和汉字的正则表达式:
<el-input onkeyup="value=value.replace(/[\d]/g,'') "onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[\d]/g,''))" maxlength=10 name="Numbers">

// 13.限制input输入框只能输入英文字母和数字,不能输入中文的正则表达式:
<el-input onkeyup="value=value.replace(/[^\w\.\/]/ig,'')">

// 14.限制input输入框只能输入数字和英文的正则表达式:
<el-input onKeyUp="value=value.replace(/[^\d|chun]/g,'')">

// 15.限制input输入框小数点后只能有最多两位(数字,中文都可输入),不能输入字母和运算符号的正则表达式:
<el-input onKeyPress="if((event.keyCode<48 || event.keyCode>57) && event.keyCode!=46 || /\.\d\d$/.test(value))event.returnValue=false">

// 16.限制input输入框小数点后只能有最多两位(数字,字母,中文都可输入),可以输入运算符号:的正则表达式:
<el-input onkeyup="this.value=this.value.replace(/^(\-)*(\d+)\.(\d\d).*$/,'$1$2.$3')">

// 17.不可输入中文
<el-input  onkeyup="this.value=this.value.replace(/[\u4E00-\u9FA5]/g,'')">

// 18.不可输入空格
<el-input onkeyup="onkeyup="value = value.replace(/\s+/g, '')">

// 19.只能是数字+小数点且只能保留两位 
<el-input
    onkeyup="value=value.replace(/[^1-9]{0,1}(\d*(?:\.\d{0,2})?).*$/g, '$1')"
    v-model="state.form.price"
    placeholder="请输入费用标准(自动y保留两位小数)"
    style="width: 92%"
    @change="cccccce"
/>

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值