VUE+Element UI 表单自定义正则校验规则教程 常用正则分享

137次阅读

共计 8902 个字符,预计需要花费 23 分钟才能阅读完成。

很简单,直接写就行了,在 rules 中参照如下写法进行:

1
2
3
4
5
6
7
8
9
rules: {
        name: [
            { required: true, message: ‘ 必填项 ’, trigger: ‘blur’ }
        ],
        phone: [
            { required: true, message: ‘ 必填项 ’, trigger: ‘blur’ },
            { pattern: /^(?:(?:+|00)86)?1[39]d{9}$/, message: ‘ 请输入合法手机号 / 电话号 ’, trigger: ‘blur’ }
        ]
    },

pattern: /^(?:(?:+|00)86)?1[3-9]d{9}$/就正则表达,可以根据实际情况调整。

常用正则分享

火车车次

1
/^[GCDZTSPKXLY19]d{1,4}$/

手机机身码(IMEI)

1
/^d{15,17}$/

必须带端口号的网址(或 ip)

1
/^((ht|f)tps?://)?[w]+(.[w]+)+:d{1,5}/?$/

网址(url, 支持端口和 ”?+ 参数 ” 和 ”#+ 参数)

1
/^(((ht|f)tps?)://)?[w]+(.[w]+)+([w.,@?^=%&:/~+#-]*[w@?^=%&/~+#-])?$/

统一社会信用代码

1
/^[09AHJNPQRTUWXY]{2}d{6}[09AHJNPQRTUWXY]{10}$/

统一社会信用代码(宽松匹配)(15 位 /18 位 /20 位数字 / 字母)

1
/^(([09AZaz]{15})|([09AZaz]{18})|([09AZaz]{20}))$/

迅雷链接

1
/^thunderx?://[azAZd]+=$/

ed2k 链接(宽松匹配)

1
/^ed2k://|file|.+|/$/

磁力链接(宽松匹配)

1
/^magnet:?xt=urn:btih:[09afAF]{40,}.*$/

子网掩码

1
/^(?:d{1,2}|1dd|2[04]d|25[05])(?:.(?:d{1,2}|1dd|2[04]d|25[05])){3}$/

linux” 隐藏文件 ” 路径

1
/^/(?:[^/]+/)*.[^/]*/

linux 文件夹路径

1
/^/(?:[^/]+/)*$/

linux 文件路径

1
/^/(?:[^/]+/)*[^/]+$/

window” 文件夹 ” 路径

1
/^[azAZ]:(?:w+?)*$/

window 下 ” 文件 ” 路径

1
/^[azAZ]:(?:w+)*w+.w+$/

股票代码(A 股)

1
/^(s[hz]|S[HZ])(000[d]{3}|002[d]{3}|300[d]{3}|600[d]{3}|60[d]{4})$/

大于等于 0, 小于等于 150, 支持小数位出现 5, 如 145.5, 用于判断考卷分数

1
/^150$|^(?:d|[19]d|1[04]d)(?:.5)?$/

html 注释

1
/^<![sS]*?>$/

md5 格式(32 位)

1
/^([afd]{32}|[AFd]{32})$/

GUID/UUID

1
/^[afd]{4}(?:[afd]{4}){4}[afd]{12}$/i

版本号 (version) 格式必须为 X.Y.Z

1
/^d+(?:.d+){2}$/

视频 (video) 链接地址(视频格式可按需增删)

1
/^https?://(.+/)+.+(.(swf|avi|flv|mpg|rm|mov|wav|asf|3gp|mkv|rmvb|mp4))$/i

图片 (image) 链接地址(图片格式可按需增删)

1
/^https?://(.+/)+.+(.(gif|png|jpg|jpeg|webp|svg|psd|bmp|tif))$/i

24 小时制时间(HH:mm:ss)

1
/^(?:[01]d|2[03]):[05]d:[05]d$/

12 小时制时间(hh:mm:ss)

1
/^(?:1[02]|0?[19]):[05]d:[05]d$/

base64 格式

1
/^s*data:(?:[az]+/[az09+.]+(?:;[az]+=[az09]+)?)?(?:;base64)?,([az09!$&,()*+;=._~:@/?%s]*?)s*$/i

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

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

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

1
/(?:^[19]([09]+)?(?:.[09]{1,2})?$)|(?:^(?:0)$)|(?:^[09].[09](?:[09])?$)/

银行卡号(10 到 30 位, 覆盖对公 / 私账户, 参考[微信支付](https://pay.weixin.qq.com/wiki/doc/api/xiaowei.php?chapter=22_1))

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

中文姓名

1
/^(?:[u4E00u9FA5·]{2,16})$/

英文姓名

1
/(^[azAZ][azAZs]{0,20}[azAZ]$)/

车牌号(新能源)

1
/^[京津沪渝冀豫云辽黑湘皖鲁新苏浙赣鄂桂甘晋蒙陕吉闽贵粤青藏川宁琼使领 ][AHJNPZ](?:((d{5}[AHJK])|([AHJK][AHJNPZ09][09]{4}))|[AHJNPZ09]{4}[AHJNPZ09 挂学警港澳])$/

车牌号(非新能源)

1
/^[京津沪渝冀豫云辽黑湘皖鲁新苏浙赣鄂桂甘晋蒙陕吉闽贵粤青藏川宁琼使领 ][AHJNPZ][AHJNPZ09]{4}[AHJNPZ09 挂学警港澳]$/

车牌号(新能源 + 非新能源)

1
/^[京津沪渝冀豫云辽黑湘皖鲁新苏浙赣鄂桂甘晋蒙陕吉闽贵粤青藏川宁琼使领 ][AHJNPZ][AHJNPZ09]{4,5}[AHJNPZ09 挂学警港澳]$/

手机号 (mobile phone) 中国(严谨), 根据工信部 2019 年最新公布的手机号段

1
/^(?:(?:+|00)86)?1(?:(?:3[d])|(?:4[579])|(?:5[0359])|(?:6[57])|(?:7[08])|(?:8[d])|(?:9[189]))d{8}$/

手机号 (mobile phone) 中国(宽松), 只要是 13,14,15,16,17,18,19 开头即可

1
/^(?:(?:+|00)86)?1[39]d{9}$/

手机号 (mobile phone) 中国(最宽松), 只要是 1 开头即可, 如果你的手机号是用来接收短信, 优先建议选择这一条

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

date(日期)

1
/^d{1,4}()(1[02]|0?[19])1(0?[19]|[12]d|30|31)$/

email(邮箱)

1
/^(([^<>()[].,;:s@“]+(.[^<>()[]\.,;:s@”]+)*)|(“.+”))@(([[09]{1,3}.[09]{1,3}.[09]{1,3}.[09]{1,3}])|(([azAZ09]+.)+[azAZ]{2,}))$/

座机 (tel phone) 电话(国内)

1
/^(?:(?:d{3})?d{8}|^(?:d{4})?d{7,8})(?:d+)?$/

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

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

身份证号(2 代,18 位数字), 最后一位是校验位, 可能为数字或字符 X

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

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

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

护照(包含香港、澳门)

1
/(^[EeKkGgDdSsPpHh]d{8}$)|(^(([Ee][afAF])|([DdSsPp][Ee])|([Kk][Jj])|([Mm][Aa])|(1[45]))d{7}$)/

帐号是否合法(字母开头,允许 5 -16 字节,允许字母数字下划线组合

1
/^[azAZ]w{4,15}$/

中文 / 汉字

1
/^(?:[u3400u4DB5u4E00u9FEAuFA0EuFA0FuFA11uFA13uFA14uFA1FuFA21uFA23uFA24uFA27uFA29]|[uD840uD868uD86AuD86CuD86FuD872uD874uD879][uDC00uDFFF]|uD869[uDC00uDED6uDF00uDFFF]|uD86D[uDC00uDF34uDF40uDFFF]|uD86E[uDC00uDC1DuDC20uDFFF]|uD873[uDC00uDEA1uDEB0uDFFF]|uD87A[uDC00uDFE0])+$/

小数

1
/^d+.d+$/

数字

1
/^d{1,}$/

html 标签(宽松匹配)

1
/<(w+)[^>]*>(.*?</1>)?/

qq 号格式正确

1
/^[19][09]{4,10}$/

数字和字母组成

1
/^[AZaz09]+$/

英文字母

1
/^[azAZ]+$/

小写英文字母组成

1
/^[az]+$/

大写英文字母

1
/^[AZ]+$/

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

1
/^S*(?=S{6,})(?=S*d)(?=S*[AZ])(?=S*[az])(?=S*[!@#$%^&*? ])S*$/

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

1
/^[azAZ09_]{4,16}$/

ip-v4[: 端口]

1
/^((d|[19]d|1dd|2[04]d|25[05]).){3}(d|[19]d|1dd|2[04]d|25[05])(?::(?:[09]|[19][09]{1,3}|[15][09]{4}|6[04][09]{3}|65[04][09]{2}|655[02][09]|6553[05]))?$/

16 进制颜色

1
/^#?([a-fA-F0-9]{6}|[a-fA-F0-9]{3})$/

微信号(wx),6 至 20 位,以字母开头,字母,数字,减号,下划线

1
/^[azAZ][_azAZ09]{5,19}$/

邮政编码(中国)

1
/^(0[17]|1[0356]|2[07]|3[06]|4[07]|5[17]|6[17]|7[05]|8[0136])d{4}$/

中文和数字

1
/^((?:[u3400u4DB5u4E00u9FEAuFA0EuFA0FuFA11uFA13uFA14uFA1FuFA21uFA23uFA24uFA27uFA29]|[uD840uD868uD86AuD86CuD86FuD872uD874uD879][uDC00uDFFF]|uD869[uDC00uDED6uDF00uDFFF]|uD86D[uDC00uDF34uDF40uDFFF]|uD86E[uDC00uDC1DuDC20uDFFF]|uD873[uDC00uDEA1uDEB0uDFFF]|uD87A[uDC00uDFE0])|(d))+$/

不能包含字母

1
/^[^AZaz]*$/

java 包名

1
/^([azAZ_]w*)+([.][azAZ_]w*)+$/

mac 地址

1
/^((([af09]{2}:){5})|(([af09]{2}){5}))[af09]{2}$/i

匹配连续重复的字符

1
/(.)1+/

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

1
/^(?=.*[azAZ])(?=.*d).+$/

香港身份证

1
/^[azAZ]d{6}([dA])$/

澳门身份证

1
/^[1|5|7]d{6}[(d)]{3}$/

台湾身份证

1
/^[azAZ][09]{9}$/

正文完
 0