常用正则校验
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)$ 正确格式为:01、09和1、31。
整数:^-?\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
}