正则校验收录

1,023 阅读2分钟

持续收录,个别未经过自己测试,如有问题请留言,共同探讨,莫要不当言论辱没,欢迎收藏。

正则匹配IP4

(((\d{1,2})|(1\d{2})|(2[0-4]\d)|(25[0-5]))\.){3}((\d{1,2})|(1\d{2})|(2[0-4]\d)|(25[0-5]))

手机号

/^(?:(?:\+|00)86)?1\d{10}$/

统一社会信用代码

/^[0-9A-HJ-NPQRTUWXY]{2}\d{6}[0-9A-HJ-NPQRTUWXY]{10}$/

银行卡号

/^[1-9]\d{9,29}$/

中文姓名

/^(?:[\u4E00-\u9FA5·]{2,16})$/

手机号+电话号校验

/^(\+86)?1[3-9]\d{9}$|^(\+86)?\d{3}-\d{8}$|^(\+86)?\d{4}-\d{7}$/

手机号,

/^(?:(?:\+|00)86)?1(?:(?:3[\d])|(?:4[5-79])|(?:5[0-35-9])|(?:6[5-7])|(?:7[0-8])|(?:8[\d])|(?:9[189]))\d{8}$/

整数

/^-?[0-9]\d*$/

正整数

/^\+?[1-9]\d*$/

浮点数

/^(-?\d+)(\.\d+)?q$/

数字和字母至少包含其一

/^[A-Za-z0-9]+$/

必须包含数字和字母

/^(?=.*[a-zA-Z])(?=.*\d)/+$/

至少包含一个字符且最多包含30个字符

/^.{1,30}$/

email(邮箱)

/^(([^<>()[\]\\.,;:\s@"]+(\.[^<>()[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/

邮箱

/^[A-Za-z0-9\u4e00-\u9fa5]+@[a-zA-Z0-9_-]+(\.[a-zA-Z0-9_-]+)+$/

身份证号(1代,15位数字)

/^[1-9]\d{7}(?:0\d|10|11|12)(?:0[1-9]|[1-2][\d]|30|31)\d{3}$/

身份证号(2代,18位数字)

/^[1-9]\d{5}(?:18|19|20)\d{2}(?:0[1-9]|10|11|12)(?:0[1-9]|[1-2]\d|30|31)\d{3}[\dXx]$/

身份证号, 支持1/2代(15位/18位数字)

/(^\d{8}(0\d|10|11|12)([0-2]\d|30|31)\d{3}$)|(^\d{6}(18|19|20)\d{2}(0[1-9]|10|11|12)([0-2]\d|30|31)\d{3}(\d|X|x)$)/

汉字校验

/^[\u4e00-\u9fa5]+$/

中文/汉字

/^(?:[\u3400-\u4DB5\u4E00-\u9FEA\uFA0E\uFA0F\uFA11\uFA13\uFA14\uFA1F\uFA21\uFA23\uFA24\uFA27-\uFA29]|[\uD840-\uD868\uD86A-\uD86C\uD86F-\uD872\uD874-\uD879][\uDC00-\uDFFF]|\uD869[\uDC00-\uDED6\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF34\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEA1\uDEB0-\uDFFF]|\uD87A[\uDC00-\uDFE0])+$/

数字

/^\d{1,}$/或/^[0-9]*$

数字/货币金额(支持负数、千分位分隔符)

/^-?\d+(,\d{3})*(\.\d{1,2})?$/

数字/货币金额 (只支持正数、不支持校验千分位分隔符)

/(?:^[1-9]([0-9]+)?(?:\.[0-9]{1,2})?$)|(?:^(?:0)$)|(?:^[0-9]\.[0-9](?:[0-9])?$)/

数字和字母组成

/^[A-Za-z0-9]+$/

英文字母

/^[a-zA-Z]+$/

密码强度校验,最少6位,包括至少1个大写字母,1个小写字母,1个数字,1个特殊字符

/^\S*(?=\S{6,})(?=\S*\d)(?=\S*[A-Z])(?=\S*[a-z])(?=\S*[!@#$%^&*? ])\S*$/

强密码 (必须包含大小写字母和数字的组合,不能使用特殊字符,长度在8-10之间)

/^(?=.*\d)(?=.*[a-z])(?=.*[A-Z]).(8,10)$/

用户名校验,4到16位(字母,数字,下划线,减号)

/^[a-zA-Z0-9_-]{4,16}$/

邮政编码(中国)

/^(0[1-7]|1[0-356]|2[0-7]|3[0-6]|4[0-7]|5[1-7]|6[1-7]|7[0-5]|8[013-6])\d{4}$/

不能包含字母

/^[^A-Za-z]*$/

匹配连续重复的字符

/(.)\1+/

数字和英文字母组成,并且同时含有数字和英文字母

/^(?=.*[a-zA-Z])(?=.*\d).+$/

校验特殊字符

/^(?!_)(?!.*?_$)[a-zA-Z0-9_\u4e00-\u9fa5]+$/

校验图片格式

/^image\/(jpeg|png|jpg)$/.test(file.type)

正整数或小数保留两位小数

/^\d+[.]?\d{0,2}$/

保留2位小数

/^([0-9]{1}|^[1-9]{1}\d{1,15})(\.\d{1,2})?$/

输入框的校验

initNum(value){
  value = value.replace(/[^\d.]/g,""); //清除"数字"和"."以外的字符
  value = value.replace(/^\./g,""); //验证第一个字符是数字
  value = value.replace(/\.{2,}/g,"."); //只保留第一个, 清除多余的
  value = value.replace(".","$#$").replace(/\./g,"").replace("$#$",".");
  value = value.replace(/^(\-)*(\d+)\.(\d\d).*$/,'$1$2.$3'); //控制可输入的小数
  return value
}

整数或者保留一位小数

/^(?!0+$)(?!0*\.0*$)\d{1,8}(\.\d{1})?$/

匹配对应字符

!/^\d{2}\-\d{7}(\d|[A-Za-b]){2}$/.test('00-0000000MM')