常用正则校验汇总

本文列举了一系列用于数据验证的正则表达式,包括手机号、身份证、银行卡、邮箱、电话号码、地址、组织机构代码、年收入、邮政编码等。还介绍了如何校验奇偶数、浮点数、整数以及各种格式的数字和字符串。此外,还提供了密码强度、日期格式、文件后缀、金额格式等验证的正则表达式,以及如何进行日期、电话号码和身份证的有效性检查。
摘要由CSDN通过智能技术生成

常用正则校验
1、手机号 /^(13[0-9]|14[01456879]|15[0-35-9]|16[2567]|17[0-8]|18[0-9]|19[0-35-9])\d{8}$/
2、银行卡号校验 /^([1-9]{1})(\d{15}|\d{16}|\d{18})$/
3、身份证 /^(\d{6})(\d{4})(\d{2})(\d{2})(\d{3})([0-9]|X)$/

export function IdentityCodeValid(card) {// 身份证号码检验主入口
let pass = true;
//是否为空
if (pass && card === ‘’){
pass=false
}
//检查长度
if(pass && IdentityCode_isCardNo(card) === false){
pass=false
}
//检查省份
if (pass && IdentityCode_checkProvince(card) === false){
pass=false
}
//校验生日
if (pass && IdentityCode_checkBirthday(card) === false){
pass=false
}
//检验位的检测
if (pass && IdentityCode_checkParity(card) === false){
pass = false;
}
return pass
}

4、办公电话/\d{3}-\d{8}|\d{4}-\d{7}/正确格式:0755-88888888
5、邮政编码 /^(0[1234567]|1[012356]|2[01234567]|3[0123456]|4[01234567]|5[1234567]|6[1234567]|7[012345]|8[013456])\d{4}$/
6、正整数 /^[0-9]+[0-9]*$/
整数或小数,小数限10位 /^(([1-9][0-9]*)|(([0]\.\d{1,2}|[0-9][0-9]*\.\d{1,10})))$/
7、年收入 /^(([1-9]{1}\d*)|(0{1}))(\.\d{1,2})?$/
8、地址校验(非纯数字) /^\d+$/
9、E-mail校验/^(([^<>()\[\]\\.,;:\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,}))$/
10、组织机构代码校验
组织机构代码一共9位,由大写字母组成,但是字母不包括 I、O、Z、S、V。
格式如下:MA27X4JG-X
正则表达式如下:(第8位和第9位之间用-连接)

/[0-9A-HJ-NPQRTUWXY]{8}-[0-9A-HJ-NPQRTUWXY]/

如果不要-连接的正则表达式:

/[0-9A-HJ-NPQRTUWXY]{9}/

11、校验手机号+固定电话

/^((0\d{2,3}-?\d{7,8})|(1[3465789]\d{9}))$/

export function validMobilePhonenum(mobilePhone) {
  if (!/^((0\d{2,3}-?\d{7,8})|(1[3465789]\d{9}))$/.test(mobilePhone) & mobilePhone!='' & mobilePhone!=null & mobilePhone!=undefined & mobilePhone!='null') {
    return "电话号码格式不正确";
  }
  return "";
}

判断奇偶数

1、
if ((x&1) === 0) {
// 偶数
} else {
// 奇数
}
2、
if (x%2 === 0) {
// 偶数
} else {
// 奇数
}

"^\d+$"  //非负整数(正整数 + 0)
"^[0-9]*[1-9][0-9]*$"  //正整数
"^((-\d+)|(0+))$"  //非正整数(负整数 + 0)
"^-[0-9]*[1-9][0-9]*$"  //负整数
"^-?\d+$"    //整数
"^\d+(\.\d+)?$"  //非负浮点数(正浮点数 + 0)
"^(([0-9]+\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\.[0-9]+)|([0-9]*[1-9][0-9]*))$"  //正浮点数
"^((-\d+(\.\d+)?)|(0+(\.0+)?))$"  //非正浮点数(负浮点数 + 0)
"^(-(([0-9]+\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\.[0-9]+)|([0-9]*[1-9][0-9]*)))$"  //负浮点数
"^(-?\d+)(\.\d+)?$"  //浮点数
"^[A-Za-z]+$"  //由26个英文字母组成的字符串
"^[A-Z]+$"  //由26个英文字母的大写组成的字符串
"^[a-z]+$"  //由26个英文字母的小写组成的字符串
"^[A-Za-z0-9]+$"  //由数字和26个英文字母组成的字符串
"^\w+$"  //由数字、26个英文字母或者下划线组成的字符串
"^[\w-]+(\.[\w-]+)*@[\w-]+(\.[\w-]+)+$"    //email地址
"^[a-zA-z]+://(\w+(-\w+)*)(\.(\w+(-\w+)*))*(\?\S*)?$"  //url
/^(d{2}|d{4})-((0([1-9]{1}))|(1[1|2]))-(([0-2]([1-9]{1}))|(3[0|1]))$/   //  年-月-日
/^((0([1-9]{1}))|(1[1|2]))/(([0-2]([1-9]{1}))|(3[0|1]))/(d{2}|d{4})$/   // 月/日/年
"^([w-.]+)@(([[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}.)|(([w-]+.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(]?)$"   //Emil
"(d+-)?(d{4}-?d{7}|d{3}-?d{8}|^d{7,8})(-d+)?"     //电话号码
"^(d{1,2}|1dd|2[0-4]d|25[0-5]).(d{1,2}|1dd|2[0-4]d|25[0-5]).(d{1,2}|1dd|2[0-4]d|25[0-5]).(d{1,2}|1dd|2[0-4]d|25[0-5])$"   //IP地址
"^[a-zA-z]+://(\\w+(-\\w+)*)(\\.(\\w+(-\\w+)*))*(\\?\\S*)?$"  //url
^([0-9A-F]{2})(-[0-9A-F]{2}){5}$   //MAC地址的正则表达式
^[-+]?\d+(\.\d+)?$  //值类型正则表达式
[\s\S]*  // 匹配任意字符
解释:\s空白符,\S非空白符,所以[\s\S]是任意字符


密码正则表达式:/^(?![0-9]+$)(?![a-zA-Z]+$)[0-9A-Za-z]{8,16}$/
统一社会信用代码(企业)
 正则表达式:/[^_IOZSVa-z\W]{2}\d{6}[^_IOZSVa-z\W]{10}/g
组织机构代码(企业)
 正则表达式:/[a-zA-Z0-9]{8}-[a-zA-Z0-9]/
营业执照注册号(企业)
  正则表达式:/(^(? : (?![IOZSV])[\dA-Z]){2}\d{6}(? : ( ?![IOZSV])[\dA-Z]){10}$)|(^\d{15}$)/
纳税人识别号(税号)
 正则表达式:/^[A-Z0-9]{15}$|^[A-Z0-9]{18}$|^[A-Z0-9]{20}$/
验证数字的正则表达式集 
验证数字:^[0-9]*$ 
验证n位的数字:^\d{n}$ 
验证至少n位数字:^\d{n,}$ 
验证m-n位的数字:^\d{m,n}$ 
验证零和非零开头的数字:^(0|[1-9][0-9]*)$ 
验证有两位小数的正实数:^[0-9]+(.[0-9]{2})?$ 
验证有1-3位小数的正实数:^[0-9]+(.[0-9]{1,3})?$ 
验证非零的正整数:^\+?[1-9][0-9]*$ 
验证非零的负整数:^\-[1-9][0-9]*$ 
验证非负整数(正整数 + 0) ^\d+$ 
验证非正整数(负整数 + 0) ^((-\d+)|(0+))$ 
验证长度为3的字符:^.{3}$ 
验证由26个英文字母组成的字符串:^[A-Za-z]+$ 
验证由26个大写英文字母组成的字符串:^[A-Z]+$ 
验证由26个小写英文字母组成的字符串:^[a-z]+$ 
验证由数字和26个英文字母组成的字符串:^[A-Za-z0-9]+$ 
验证由数字、26个英文字母或者下划线组成的字符串:^\w+$ 
验证用户密码:^[a-zA-Z]\w{5,17}$ 正确格式为:以字母开头,长度在6-18之间,只能包含字符、数字和下划线。 
验证是否含有 ^%&',;=?$\" 等字符:[^%&',;=?$\x22]+ 
验证汉字:^[\u4e00-\u9fa5],{0,}$ 
验证Email地址:^\w+[-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$ 
验证InternetURL:^http://([\w-]+\.)+[\w-]+(/[\w-./?%&=]*)?$ ;^[a-zA-z]+://(w+(-w+)*)(.(w+(-w+)*))*(?S*)?$ 
验证电话号码:^(\d3,4|\d{3,4}-)?\d{7,8}$:--正确格式为:XXXX-XXXXXXX,XXXX-XXXXXXXX,XXX-XXXXXXX,XXX-XXXXXXXX,XXXXXXX,XXXXXXXX。 
验证身份证号(15位或18位数字):^\d{15}|\d{}18$ 
验证一年的12个月:^(0?[1-9]|1[0-2])$ 正确格式为:“01”-“09”和“1”“12” 
验证一个月的31天:^((0?[1-9])|((1|2)[0-9])|30|31)$ 正确格式为:0109131。 
整数:^-?\d+$ 
非负浮点数(正浮点数 + 0):^\d+(\.\d+)?$ 
正浮点数 ^ ( ( [ 0-9]+\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9 ]*\.[0-9]+)|([0-9]*[1-9][0 - 9 ] *))$ 
非正浮点数(负浮点数 + 0) ^((-\d+(\.\d+)?)|(0+(\.0+)?))$ 
负浮点数 ^(-(([0-9]+\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\.[0-9]+)|([0-9]*[1-9][0-9]*)))$ 
浮点数 ^(-?\d+)(\.\d+)?$

	n01: createRegexp('^[\u4E00-\u9FA5]+$', 'g'), // 纯中文
    n02: /^[\u4E00-\u9FA5\uF900-\uFA2D]+$/, // 纯中文
    n03: /^[\u4e00-\u9fa5]{1}[A-Z]{1}[A-Z_0-9]{5}$/, // 车牌号
    n04: /^[a-zA-Z]+$/, // 大小写字母
    n05: /^[0-9]+$/, // 数字`11``
    n06: /^<\/?[^>]+>$/, // 标签
    n07: /^[A-Za-z0-9](([_\.\+\-]?[a-zA-Z0-9]+)*)@([A-Za-z0-9]+)(([\.\-]?[a-zA-Z0-9]+)*)\.([A-Za-z]{2,})$/, // 邮箱
    n08: /^[\w-]+(\.[\w-]+)*@[\w-]+(\.[\w-]+)+$/, // 邮箱
    n09: /^http[s]?:\/\/([\w-]+\.)+[\w-]+([\w-.\/?%&=]*)?$/, // 网址
    n10: /^[a-zA-z]+:\/\/(\w+(-\w+)*)(\.(\w+(-\w+)*))*(\?\S*)?$/, // 网址
    n11: /^(13[0-9]|14[0-9]|15[0|1|2|3|5|6|7|8|9]|17[0-9]|18[0-9])\d{8}$/, // 手机号码
    n12: /^(25[0-5]|2[0-4]\d|[0-1]\d{2}|[1-9]?\d)\.(25[0-5]|2[0-4]\d|[0-1]\d{2}|[1-9]?\d)\.(25[0-5]|2[0-4]\d|[0-1]\d{2}|[1-9]?\d)\.(25[0-5]|2[0-4]\d|[0-1]\d{2}|[1-9]?\d)$/, // IP地址
    n13: /^(\d+)\.(\d+)\.(\d+)\.(\d+)/, // IP地址
    n14: /^(([0\+]\d{2,3})?-?(0\d{2,3}))?-?(\d{7,8})(-(\d{3,}))?$/, // 区号 电话
    n15: /^\d{6}$/, // 邮编
    n16: /^(.*)\.(jpg|bmp|gif|ico|pcx|jpeg|tif|png|raw|tga)$/, // 图片格式
    n17: /^(.*)\.(rar|zip|7zip|tgz)$/, // 压缩包
    n18: /^\d{4}(\-|\/|\.)\d{1,2}\1\d{1,2}$/, // 日期格式
    n19: /^[1-9]*[1-9][0-9]$/, // QQ //有错误
    n20: /^(h|H)(r|R)(e|E)(f|F) *= *(\'|\")?(\w|\\|\/|\.)+(\'|\"| *|>)?$/, // href = 123
    n21: /^(s|S)(r|R)(c|C) *= *(\'|\")?(\w|\\|\/|\.)+(\'|\"| *|>)?$/, // src = 123
    n22: /^[\u4e00-\u9fa5_a-zA-Z0-9\@\.|_]+$/, // 用户名
    n23: /^[a-zA-Z]{1}[\-\_a-zA-Z0-9]{5,19}$/, // 微信校验
    // 以下已经投入使用
    a01: /^(([1-9][0-9]*)|(([0]\.\d{1,2}|[1-9][0-9]*\.\d{1,2})))$/, // 匹配整数,小数限2位
    a0n: /^(([0-9][0-9]*)|(([0]\.\d{1,2}|[0-9][0-9]*\.\d{1,})))$/, // 匹配整数,小数不限
    a02: /^((0\.([1-9](\d)?|[0][1-9]))|([1-9]([0-9]{1,5})?(\.\d{1,2})?)?)?$/, // 匹配整数限6位,小数限2位(不含0)
    a03: /(^[1-9]\d{0,5}(\.\d{1,2})?$)|(^0$)|(^\d\.\d{1,2}$)/, // 匹配整数限6位,小数限2位(包含0)
    a04: /(^\d{15}$)|(^\d{18}$)|(^\d{17}(\d|X|x)$)/, // 15或18位 身份证号
    a05: /^[1][2-9][0-9]{9}$/, // 广义范围手机号
    a06: /(^\d{18}$)|(^\d{17}(\d|X|x)$)/, // 18位 身份证号
    a07: /^([0-9][0-9]{0,1}(\.\d{1,2})?|100)$/, // 匹配0-100之间整数+小数两位
    a08: /^([0-9][0-9]{0,1}(\.\d{1,})?|100)$/, // 匹配0-100之间整数+小数不限
    a10: /^(([1-9][0-9]*)|(([0]\.\d{1,2}|[0-9][0-9]*\.\d{1,10})))$/, // 匹配整数或小数,小数限10位
    a11: /^(([0-9][0-9]*)|(([0]\.\d{1,2}|[0-9][0-9]*\.\d{1,10})))$/, // 匹配整数或小数,小数限10位 包括0

    // 以下已经投入使用 (配合表单校验)(不管长度)
    // 注意不要写g
    // b01: /^[0-9a-zA-Z]+[0-9]+[a-zA-Z]+[0-9]*$/, // 密码-可用数字字母 需同时包含 不好维护 废弃
    b01: /[a-zA-Z]/, // 大小写字母
    b02: /[0-9]/, // 数字
    b03: /[\~\!\@\#\$\%\^\&\*\(\)\_\+\`\-\=\[\]\;\'\,\.\/\\\<\>\?\:\"\{\}\|]/, // 规定标点符号
    b04: /^[a-zA-Z0-9]+$/, // 只能用数字字母
    b05: /^[0-9]*$/, // QQ

小数点前限制 n 位,小数点后限制 m 位
/^\d{1,5}(?:.\d{1,2})? / 输入金额保留两位小数 / ( ? ! 0 + ( ? : 0 ˙ + ) ? / 输入金额 保留两位小数 /^(?!0+(?:\.0+)? /输入金额保留两位小数/(?!0+(?:0˙+)?)(?:[1-9] \ d*|0)(?:\ . \ d{1,2})?$/.

计算保留小数(7位)
不四舍五入 字符串匹配再转换
num = Number(num.toString().match(/^\d+(?:.\d{0,7})?/));
console.log(num); //1.73
console.log(typeof num); // number

截取文件后缀 文件名

//获取文件名,不带后缀
var   filename = "文档.docx";  
var filename1 = fileName.replace(/(.*\/)*([^.]+).*/ig,"$2");      //xxxxxx
var filename2 = row.original.replace(/\.\w+$/,''))  // 2.新建文档.docx
console.log(filename2) // 2.新建文档

 //获取文件后缀
(1)    var file=row.original.replace(/.+\./,"");  // tif
(2)    var file1 = row.original.substring(row.original.lastIndexOf('.') + 1);  // tif
         
 //截取文件后缀
 var reg = /\.\w+$/;
 var file_name = row.original.replace(reg,'');   // xxxxxx

终止日期不可早于起始日期校验

const startDate = new Date('2024-05-30 00:00:00').getTime()
const endDate = new Date('2024-05-01 00:00:00').getTime()
if (endDate <= startdate) {
	this.$message({
	    message: '终止日期不可早于起始日期!',
        type: 'warning'
    })
    return
}
  • 1
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值