前端经常用到字符判断,是否包含汉字、字符,是否满足什么格式等条件,以及检测用户输入的内容是否符合上传的格式等,这个时候用正则表达式不会错的。正则表达式学起来很杂乱,容易忘,故而就把常用的规则都整理出来,有待后期使用验证,如有补充,请留言!

使用方法,例如验证手机号

isPhone(idStr){
	var str = document.getElementById(idStr).value.trim();
	var regex = /^1[3456789]\d{9}$/;
	if(!regex.test(str)){
		alert("请输入正确的手机号!");
	} 
}

常用正则

// 验证整数
var regex = /^[-+]?\d*$/;

// 纯英文字母
var regex = /^[a-zA-Z]+$/;
// 纯大写英文字母
var regex = /^[A-Z]+$/;
// 纯小写英文字母组成
var regex = /^[a-z]+$/;

//纯数字
var regex =/^\d{1,}$/;

//是否由数字和字母组成
var regex = /^[A-Za-z0-9]+$/;

// 只包含中文和数字
var regex = /^(([\u4E00-\u9FA5])|(\d))+$/;

// 中文: 
var regex = /^[\u0391-\uFFE5]+$/;
// 只能输入汉字:
var regex = /^[\u4e00-\u9fa5]{0,}$/;
// 纯中文/汉字
var regex = /^[\u4E00-\u9FA5]+$/;

// 中文姓名:
var regex = /^([\u4e00-\u9fa5·]{2,10})$/;

// 验证日期YYYY-MM-DD:
var regex = /^(\d{1,4})(-|\/)(\d{1,2})\2(\d{1,2})$/;

// 验证日期格式YYYY-MM-DD hh:mm:ss:
var regex = /^(\d{1,4})(-|\/)(\d{1,2})\2(\d{1,2}) (\d{1,2}):(\d{1,2}):(\d{1,2})$/;

// 用户名正则,4到16位(字母,数字,下划线,减号)
var uPattern = /^[a-zA-Z0-9_-]{4,16}$/;

// 匹配 16 进制颜色值
var color = /#([0-9a-fA-F]{6}|[0-9a-fA-F]{3})/g;
var cPattern = /^#?([a-fA-F0-9]{6}|[a-fA-F0-9]{3})$/;

// 中国邮政编码:(中国邮政编码为6位数字)
[1-9]\d{5}(?!\d) 

// 匹配日期,如 yyyy-mm-dd 格式
var date = /^[0-9]{4}-(0[1-9]|1[0-2])-(0[1-9]|[12][0-9]|3[01])$/;

// 匹配 qq 号
var qq = /^[1-9][0-9]{4,10}$/g; //5到11位
var qq = /^[1-9][0-9]{4,}$/g; // //5位以上

// 微信号正则,6至20位,以字母开头,字母,数字,减号,下划线
var wx = /^[a-zA-Z]([-_a-zA-Z0-9]{5,19})+$/;

// 手机号码正则
var phone = /^1[34578]\d{9}$/g; //宽松
// 手机号(严谨), 根据工信部2019年最新公布的手机号段
var phone = /^1((3[\d])|(4[5,6,7,9])|(5[0-3,5-9])|(6[5-7])|(7[0-8])|(8[\d])|(9[1,8,9]))\d{8}$/;

// 座机号
var tel =/(^0\d{2}-8\d{7}$)|(^0\d{3}-3\d{6}$)/;

// 用户名正则
var username = /^[a-zA-Z\$][a-zA-Z0-9_\$]{4,16}$/;

// 银行卡号(16或19位)
var card = /^([1-9]{1})(\d{15}|\d{18})$/;

// Email正则
var email = /^([A-Za-z0-9_\-\.])+\@([A-Za-z0-9_\-\.])+\.([A-Za-z]{2,4})$/;
var email = /^([a-zA-Z0-9]+[_|\_|\.]?)*[a-zA-Z0-9]+@([a-zA-Z0-9]+[_|\_|\.]?)*[a-zA-Z0-9]+\.[a-zA-Z]{2,3}$/;

// 身份证号(18位)正则
var cP = /^[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]$/;
var cP = /(^\d{8}(0\d|11|12)([0-2]\d|30|31)\d{3}$)|(^\d{6}(18|19|20)\d{2}(0\d|11|12)([0-2]\d|30|31)\d{3}(\d|X|x)$)/;

// base64格式 
var b64 = /^[\/]?([\da-zA-Z]+[\/+]+)*[\da-zA-Z]+([+=]{1,2}|[\/])?$/;

// URL正则
var urlP= /^((https?|ftp|file):\/\/)?([\da-z\.-]+)\.([a-z\.]{2,6})([\/\w \.-]*)*\/?$/;

// ipv4地址正则
var ipP = /^(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$/;

// 新能源 长度为8
const xreg = /^[京津沪渝冀豫云辽黑湘皖鲁新苏浙赣鄂桂甘晋蒙陕吉闽贵粤青藏川宁琼使领A-Z]{1}[A-Z]{1}(([0-9]{5}[DF]$)|([DF][A-HJ-NP-Z0-9][0-9]{4}$))/

// 非新能源车牌号
const xreg = /^[京津沪渝冀豫云辽黑湘皖鲁新苏浙赣鄂桂甘晋蒙陕吉闽贵粤青藏川宁琼使领 A-Z]{1}[A-HJ-NP-Z]{1}[A-Z0-9]{4}[A-Z0-9挂学警港澳]{1}$/;

// 车牌号正则
var cPattern = /^[京津沪渝冀豫云辽黑湘皖鲁新苏浙赣鄂桂甘晋蒙陕吉闽贵粤青藏川宁琼使领A-Z]{1}[A-Z]{1}[A-Z0-9]{4}[A-Z0-9挂学警港澳]{1}$/;

//强密码(必须包含大小写字母和数字的组合,不能使用特殊字符,长度在8-10之间):
var pwd = /^(?=.\d)(?=.[a-z])(?=.[A-Z]).{8,10}$/

// 是否html标签
/<(.	)>. <\/\1>|<(.*) \/>/

// 英文特殊符号
const regEn = /[`~!@#$%^&*()_+<>?:"{},\\.\/;'[\]]/im

// 中文特殊符号
const regCn = /[·!#¥(——):;“”‘、,|《。》?、【】[\]]/im

2021年8月31补

身份证通用简单匹配规则:

reg = /(^\d{15}$)|(^\d{18}$)|(^\d{17}(\d|X|x)$)/