当前位置:   article > 正文

uniapp一套完整的正则验证解决方案[ js正则常用大全](手机号验证,邮箱验证,身份证等)_uniapp前端正则

uniapp前端正则

先看代码,复制使用即可,验证基于购物商城类可能会用到的正则验证而来。(个人习惯用驼峰命名,请见谅)

手机号验证

思路是以1开头的第二位是23456789,匹配数字字符9位并结束共计11位

function PhoneNum(value) {
	return /^1[3-9]\d{9}$/.test(value);
}
  • 1
  • 2
  • 3
固定电话号验证
function FixedPhoneNum(value) {
	return /^\d{3,4}-\d{7,8}(-\d{3,4})?$/.test(value);
}
  • 1
  • 2
  • 3
邮箱验证

思路是匹配字母、数字、下划线开头中间有@符号匹配字母、数字、下划线结尾

function Email(value) {
	return /^\w+((-\w+)|(\.\w+))*\@[A-Za-z0-9]+((\.|-)[A-Za-z0-9]+)*\.[A-Za-z0-9]+$/.test(value);
}
  • 1
  • 2
  • 3
身份证验证

思路是匹配数字字符开头18位数并允许最后一位是X

function IDCard(value) {
    let reg = /^[1-9]\d{5}[1-9]\d{3}((0\d)|(1[0-2]))(([0|1|2]\d)|3[0-1])\d{3}([0-9]|X)$/;
	return reg.test(value)
}
  • 1
  • 2
  • 3
  • 4
时间日期验证

思路是不是非法的或者NaN类型的可被new Date方法转换 警告 ios下时间转换需要将 - 转换为 /

function NewDate(value) {
	return !/Invalid|NaN/.test(new Date(value).toString());
}
  • 1
  • 2
  • 3
IOS时间日期验证

警告 ios下时间转换需要将 - 转换为 /

function NewDateOfIos(value) {
	return /^\d{4}[\/\-](0?[1-9]|1[012])[\/\-](0?[1-9]|[12][0-9]|3[01])$/.test(value);
}
  • 1
  • 2
  • 3
是否是十进制数字验证

思路是摒弃:-。,.等是否存在 ,不存在的数字字符验证即是十进制数字

function NumberIsTen(value) {
	return /^(?:-?\d+|-?\d{1,3}(?:,\d{3})+)?(?:\.\d+)?$/.test(value);
}
  • 1
  • 2
  • 3
数字整数验证

思路是匹配一个数字字符。等价于 [0-9]。开头并以他结束

function WhNumber(value) {
	return /^\d+$/.test(value);
}
  • 1
  • 2
  • 3
金额验证

思路是为数字并且小数点后保留一位两位(金额,只允许保留两位小数)

function Money(value) {
	return /^[1-9]\d*(,\d{3})*(\.\d{1,2})?$|^0\.\d{1,2}$/.test(value);
}
  • 1
  • 2
  • 3
中文验证

思路是根据国际utf-8编码,匹配中文

function IsChinese(value) {
	const reg = /^[\u4e00-\u9fa5]+$/gi;
	return reg.test(value);
}
  • 1
  • 2
  • 3
  • 4
英文验证

思路是'a' 到 'z' 范围内的任意小写字母字符开头并结束的。

function IsEnglish(value) {
	return /^[a-zA-Z]*$/.test(value);
}
  • 1
  • 2
  • 3
A是否包含B验证

思路是通过indexOf方法查找不为-1即存在

function IsContains(A, B) {
	return A.indexOf(B) >= 0;
}
  • 1
  • 2
  • 3
短信验证码验证

思路是4位或者6位的数字

function IsCode(value, length = 6 || length= 4) {
	return new RegExp(`^\\d{${length}}$`).test(value);
}
  • 1
  • 2
  • 3
是否对象验证

您肯定见过类似的对象输出,转化为字符串然后判断是否全等,从底层方法判断,避免兼容或者容错

function IsObject(value) {
	return Object.prototype.toString.call(value) === '[object Object]';
}
  • 1
  • 2
  • 3
是否数组验证

您也可以使用isArray或者别的js方法

function IsArr(value) {
	return Object.prototype.toString.call(value) == "[object Array]";
}
  • 1
  • 2
  • 3
是否是车牌号验证(普通车辆)

方法借鉴与uview 框架链接: uview-UniappU框架网址

function IsCarOfOld(value) {
	const creg = /^[京津沪渝冀豫云辽黑湘皖鲁新苏浙赣鄂桂甘晋蒙陕吉闽贵粤青藏川宁琼使领A-Z]{1}[A-Z]{1}[A-HJ-NP-Z0-9]{4}[A-HJ-NP-Z0-9挂学警港澳]{1}$/;
	if (value.length === 7) {
		return creg.test(value);
	} else {
		return false;
	}
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
是否是车牌号验证(新能源车辆)

方法借鉴与uview 框架链接: uview-UniappU框架网址

function IsCarOfNew(value) {
	const xreg = /^[京津沪渝冀豫云辽黑湘皖鲁新苏浙赣鄂桂甘晋蒙陕吉闽贵粤青藏川宁琼使领A-Z]{1}[A-Z]{1}(([0-9]{5}[DF]$)|([DF][A-HJ-NP-Z0-9][0-9]{4}$))/;
	if (value.length === 8) {
		return xreg.test(value);
	} else {
		return false;
	}
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
是否6-16位并包含数字和字母
function isPassWord(value) {
	if(!/^.{6,16}$/.test(value) || !/[0-9]/.test(value) || !/[a-zA-Z]/.test(value)){
	  return false
	}else{
	  return true
	}
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
调用方式

如:

	let A = 15398031234
	console.log(this.PhoneNum(A))
  • 1
  • 2

以上就是个人根据从业经验总结的常用正则验证(部分借鉴与uview框架,感谢uview团队无私开源)
其他有关uniapp的疑问或者此方法不理解的地方您可留言,我会尽快回复并帮您解决。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/weixin_40725706/article/detail/231306?site
推荐阅读
相关标签
  

闽ICP备14008679号