常用正则表达式

校验数字的正则表达式

m 到 n 位的数字

/^\d{m,n}$/;

n 位的数字

/^\d{n}$/;

带 1 到 2 位小数的正数或负数

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

数字

/^\d+$/;

有 1~3 位小数的正实数

/^[0-9]+(.[0-9]{1,3})?$/;

有两位小数的正实数

/^[0-9]+(.[0-9]{2})?$/;

正数、负数、和小数

/^(\-|\+)?\d+(\.\d+)?$/;

正浮点数

/^[1-9]\d*\.\d*|0\.\d*[1-9]\d*$/;

浮点数

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

至少 n 位的数字

/^\d{n,}$/;

负浮点数

/^-([1-9]\d*\.\d*|0\.\d*[1-9]\d*)$/;

零和非零开头的数字

/^(0|[1-9][0-9]*)$/;

非正整数

/^-[1-9]\d*|0$/;

非正浮点数

/^((-\d+(\.\d+)?)|(0+(\.0+)?))$/;

非负整数

/^\d+$/;

非负浮点数

/^\d+(\.\d+)?$/;

非零开头的最多带两位小数的数字

/^([1-9][0-9]*)+(.[0-9]{1,2})?$/;

非零的正整数

/^[1-9]\d*$/;

非零的负整数

/^-[1-9]\d*$/;

校验字符的正则表达式

汉字

/^(?:[\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])+$/;

由英文、数字、汉字组成且字符长度在 m 到 n 之间

/^[\u4E00-\u9FA5A-Za-z0-9]{m,n}$/;

由英文开头且由英文、数字、下划线组成且字符长度在 m 到 n 之间

/^[A-Za-z][A-Za-z0-9_]{m,n}$/;

由英文、数字、特殊字符组成且至少包括 1 个大写字母、1 个小写字母、1 个数字、1 个特殊字符且字符长度在 m 到 n 之间

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

英文字母 (大写)

/^[A-Z]+$/;

英文字母 (小写)

/^[a-z]+$/;

英文字母

/^[A-Za-z]+$/;

数字和字母组成

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

长度在 m 到 n 位的字符

/^.{3,20}$/;

由数字、英文、下划线组成

/^\w+$/;

由中文、英文、数字、下划线组成

/^[\u4E00-\u9FA5A-Za-z0-9_]+$/;

特殊需求的正则表达式
护照 (包含香港、澳门)

/(^[EeKkGgDdSsPpHh]\d{8}$)|(^(([Ee][a-fA-F])|([DdSsPp][Ee])|([Kk][Jj])|([Mm][Aa])|(1[45]))\d{7}$)/;

邮政编码 (中国)

/^(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-HJ-NP-Z][A-HJ-NP-Z0-9]{4,5}[A-HJ-NP-Z0-9挂学警港澳]$/;

车牌号 (非新能源)

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

车牌号 (新能源)

/^[京津沪渝冀豫云辽黑湘皖鲁新苏浙赣鄂桂甘晋蒙陕吉闽贵粤青藏川宁琼使领][A-HJ-NP-Z](https://github.com/learnguos/vscode-regex/blob/HEAD?:((\d{5}[A-HJK])|([A-HJK][A-HJ-NP-Z0-9][0-9]{4}))|[A-HJ-NP-Z0-9]{4}[A-HJ-NP-Z0-9挂学警港澳])$/;

银行卡号 (10 到 30 位覆盖对公、私账户 参照微信)

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

手机号码 (最宽松)

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

手机号码 (宽松)

/^(?:(?:\+|00)86)?1[3-9]\d{9}$/;

手机号码 (严谨)

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

Email 地址

/\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*/;

身份证号 (澳门)

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

身份证号 (香港)

/^[a-zA-Z]\d{6}\([\dA]\)$/;

身份证号 (台湾)

/^[a-zA-Z][0-9]{9}$/;

身份证号 (1 代 + 2 代)

/^\d{6}((((((19|20)\d{2})(0[13-9]|1[012])(0[1-9]|[12]\d|30))|(((19|20)\d{2})(0[13578]|1[02])31)|((19|20)\d{2})02(0[1-9]|1\d|2[0-8])|((((19|20)([13579][26]|[2468][048]|0[48]))|(2000))0229))\d{3})|((((\d{2})(0[13-9]|1[012])(0[1-9]|[12]\d|30))|((\d{2})(0[13578]|1[02])31)|((\d{2})02(0[1-9]|1\d|2[0-8]))|(([13579][26]|[2468][048]|0[048])0229))\d{2}))(\d|X|x)$/;

身份证号 (2 代)

/^[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 代)

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

火车车次

/^[GCDZTSPKXLY1-9]\d{1,4}$/;

手机机身码(IMEI)

/^\d{15,17}$/;

必须带端口号的网址

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

网址

/^(((ht|f)tps?):\/\/)?([^!@#$%^&*?.\s-](https://github.com/learnguos/vscode-regex/blob/HEAD/[^!@#$%^&*?.\s]{0,63}[^!@#$%^&*&.\s])?\.)+[a-z]{2,6}\/?/;

统一社会信用代码

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

迅雷链接

/^thunderx?:\/\/[a-zA-Z\d]+=$/;

ed2k 链接

/^ed2k:\/\/\|file\|.+\|\/$/;

磁力链接

/^magnet:\?xt=urn:btih:[0-9a-fA-F]{40,}.*$/;

子网掩码

/^(254|252|248|240|224|192|128)\.0\.0\.0|255\.(254|252|248|240|224|192|128|0)\.0\.0|255\.255\.(254|252|248|240|224|192|128|0)\.0|255\.255\.255\.(255|254|252|248|240|224|192|128|0)$/;

html 注释

/<!--[\s\S]*?-->/g;

股票代码 (A 股)

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

32 位 MD5 格式

/^([a-f\d]{32}|[A-F\d]{32})$/;

GUID 或 UUID

/^[a-f\d]{4}(?:[a-f\d]{4}-){4}[a-f\d]{12}$/i;

24 小时制时间

/^(?:[01]\d|2[0-3]):[0-5]\d:[0-5]\d$/;

12 小时制时间

/^(?:1[0-2]|0?[1-9]):[0-5]\d:[0-5]\d$/;

base64 格式

/^\s*data:(?:[a-z]+\/[a-z0-9-+.]+(?:;[a-z-]+=[a-z0-9-]+)?)?(?:;base64)?,([a-z0-9!$&',()*+;=\-._~:@/?%\s]*?)\s*$/i;

QQ 号码

/^[1-9][0-9]{4,10}$/;

中国省份

/^浙江|上海|北京|天津|重庆|黑龙江|吉林|辽宁|内蒙古|河北|新疆|甘肃|青海|陕西|宁夏|河南|山东|山西|安徽|湖北|湖南|江苏|四川|贵州|云南|广西|西藏|江西|广东|福建|台湾|海南|香港|澳门$/;

将字符串转化为正则表达式

const reg = new RegExp(str.replace(/[.++\-?*${}()|[\]\\]/g, '\\$&'), 'g')
console.log(reg)
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 204,053评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,527评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,779评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,685评论 1 276
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,699评论 5 366
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,609评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,989评论 3 396
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,654评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,890评论 1 298
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,634评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,716评论 1 330
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,394评论 4 319
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,976评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,950评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,191评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 44,849评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,458评论 2 342

推荐阅读更多精彩内容