搜索
首页头条99+ 个常用正则表达式,一次白嫖个够!

正则描述了一种字符串匹配的模式,但对于很多人来说写正则就是”兰德里的折磨“吧。如果不是有需求频繁要用,根本就不会想着学它。本篇文章就给大家整理分享一些常用正则表达式,想要白嫖正则吗?快来收藏吧!

想要白嫖正则是吧?本篇就一次给你个够!先冲 99 个!(如果还觉得不够就评论反馈后再加,本篇持续更新加码!!)

另外 1 个小 tips,对正则阅读有障碍的同学可以借助这个网站 jex.im/regulex/,将正则可视化,从此爱上读正则!

比如:校验邮箱的正则:^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$

1.png

可视化后,直接看图说话,小白都会,真滴 tql !!

好了,冲了!

号码相关

  • 手机号(以 1 开头):/^(?:(?:\+|00)86)?1\d{10}$/

  • 手机号(以 13 至19 开头):/^(?:(?:\+|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}$/

  • 国内固话号码:/\d{3}-\d{8}|\d{4}-\d{7}/

  • 邮箱号:/^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$/

  • 邮政编码:/[1-9]\d{5}(?!\d)/

  • 身份证号:/^[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-9]\d{9,29}$/

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

  • QQ 号:/^[1-9][0-9]{4,10}$/

  • 微信号:/^[a-zA-Z][-_a-zA-Z0-9]{5,19}$/

  • 版本号( x.y.z ):/^\d+(?:\.\d+){2}$/

  • 合法账号1(字母开头,5-16位,允许字母数字下划线):/^[a-zA-Z][a-zA-Z0-9_]{4,15}$/

  • 合法账号2(4-16位,允许字母,数字,下划线,减号):/^[a-zA-Z0-9_-]{4,16}$/

  • 强密码1(必须包含大小写字母和数字的组合,不能使用特殊字符,长度在8-10之间):/^(?=.*\d)(?=.*[a-z])(?=.*[A-Z]).{8,10}$/

  • 强密码2(必须包含字母、数字、特殊字符:**@#$%^& `~()-+=* ):

/^(?![a-zA-Z]+$)(?![A-Z0-9]+$)(?![A-Z\W_!@#$%^&* ~()-+=]+$)(?![a-z0-9]+$)(?![a-z\\W_!@#$%^& *~()-+=]+$)(?![0-9\W_!@#$%^&* ~()-+=]+$)[a-zA-Z0-9\\W_!@#$%^&*~()-+=]/

  • 网址:/^(((ht|f)tps?):\/\/)?(^!@#$%^&*?.\s-?\.)+[a-z]{2,6}\/?/

  • 网址带端口号:/^((ht|f)tps?:\/\/)?[\w-]+(\.[\w-]+)+:\d{1,5}\/?$/

  • ip-v4:/\\b(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\b/

  • ip-v6:/(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))/

数字相关

  • 只有数字:/^[0-9]*$//^\d{1,}$/

  • 整数:/^-?[0-9]\d*$/

  • 正整数:/^\+?[1-9]\d*$/

  • 非正整数:/^-[1-9]\d*|0$/

  • 负整数:/^-[1-9]\d*$/

  • 非负整数:/^\d+$/

  • 浮点数:/^(-?\d+)(\.\d+)?$/

  • 正浮点数:/^[1-9]\d*\.\d*|0\.\d*[1-9]\d*$/

  • 负浮点数:/^-([1-9]\d*\.\d*|0\.\d*[1-9]\d*)/

  • 小数:/^-?\d+\.\d+$/

  • 正数/负数/小数:/^(\-|\+)?\d+(\.\d+)?$/

  • 正实数保留小数点后 2 位:/^[0-9]+(.[0-9]{2})?$/

  • 正实数保留小数点后 1 到 3 位:/^[0-9]+(.[0-9]{1,3})?$/

  • n 位数字:/^\d{n}$/

  • 至少 n 位数字:/^\d{n,}$/

  • m 至 n 位的数字:/^\d{m,n}$/

  • 数字和字母至少包含其一:/^[A-Za-z0-9]+$/

  • 必须包含数字和字母:/^(?=.*[a-zA-Z])(?=.*\d).+$/

  • md5 值 :/^([a-f\d]{32}|[A-F\d]{32})$/

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

字符相关

  • m 至 n 位的字符:/^.{3,20}$/

  • 英文字母字符:/^[A-Za-z]+$/

  • 大写英文字母字符:/^[A-Z]+$/

  • 小写英文字母字符:/^[a-z]+$/

  • 汉字:/^[\u4e00-\u9fa5]{0,}$/

  • 全角符号:/[\uFF00-\uFFFF]/

  • 半角符号:/[\u0000-\u00FF]/

  • 汉字、英文、数字、下划线至少其一:/^[\u4E00-\u9FA5A-Za-z0-9_]+$/

  • 不包含字符 “~” :/[^~\x22]+/

  • 字符连续重复:/(.)\1+/

⌚时间相关

  • 24小时制时间(HH:mm:ss):/^(?:[01]\d|2[0-3]):[0-5]\d:[0-5]\d$/

  • 12小时制时间(hh:mm:ss):/^(?:1[0-2]|0?[1-9]):[0-5]\d:[0-5]\d$/

  • 24小时制时间(HHmmss):/([0-1]?[0-9]|2[0-3])([0-5][0-9])([0-5][0-9])$/

  • 日期1(yyyy-MM-dd,如 2222-01-01,年份必为4位):/^\d{4}-\d{1,2}-\d{1,2}/

  • 日期2(如 333-01-01,年份可小于4位):/^\d{1,4}(-)(1[0-2]|0?[1-9])\1(0?[1-9]|[1-2]\d|30|31)$/

  • 日期3(yyyyMMdd,如 20220202):/^((([0-9]{3}[1-9]|[0-9]{2}[1-9][0-9]{1}|[0-9]{1}[1-9][0-9]{2}|[1-9][0-9]{3})(((0[13578]|1[02])(0[1-9]|[12][0-9]|3[01]))|((0[469]|11)(0[1-9]|[12][0-9]|30))|(02(0[1-9]|[1][0-9]|2[0-8]))))|((([0-9]{2})(0[48]|[2468][048]|[13579][26])|((0[48]|[2468][048]|[3579][26])00))0229))$/

  • 日期+时间1(YYYYMMDD HH:mm:ss):/^\d{4}([/:-\S])(1[0-2]|0?[1-9])\1(0?[1-9]|[1-2]\d|30|31) (?:[01]\d|2[0-3]):[0-5]\d:[0-5]\d$/

  • 日期+时间2: /^[1-9]\d{3}-(0[1-9]|1[0-2])-(0[1-9]|[1-2][0-9]|3[0-1])\s+(20|21|22|23|[0-1]\d):[0-5]\d:[0-5]\d$/

  • 一年 12 个月((01~09 或 1~12)):/^(0?[1-9]|1[0-2])$/

  • 一个月 31 天(01~09 或 1~31):/^((0?[1-9])|((1|2)[0-9])|30|31)$/

  • 有 31 天的月份:/^(0?[13578]|1[02])$/

  • 有 30 天月的份:/(0[469]|11)-(0[1-9]|[12][0-9]|30)/

  • 2 月 28 天("02-28"):/^02-(0[1-9]|[1][0-9]|2[0-8])$/

  • 闰年:/^(((19|20)([13579][26]|[2468][048]|0[48]))|(2000))$/

  • 闰年 2 月(比如 2008-02-01):/^(((19|20)([13579][26]|[2468][048]|0[48]))|(2000))-0?2-(0?[1-9]|[12]\d)$/

  • 日期(包括闰年、大小月的判断):/((((19|20)\d{2})-(0?(1|[3-9])|1[012])-(0?[1-9]|[12]\d|30))|(((19|20)\d{2})-(0?[13578]|1[02])-31)|(((19|20)\d{2})-0?2-(0?[1-9]|1\d|2[0-8]))|((((19|20)([13579][26]|[2468][048]|0[48]))|(2000))-0?2-29))$/

  • 年份区间-年(比如 19 年至 20 年):/^((19|20)\d{2})$/

  • 年份区间-年月(比如 1999-01):/^((((19|20)\d{2})-(0?[13-9]|1[012]))|(((19|20)\d{2})-(0?[13578]|1[02]))|(((19|20)\d{2})-0?2)|((((19|20)([13579][26]|[2468][048]|0[48]))|(2000))-0?2))$/

  • 年份区间-年月日(比如 1999-01-01):/^((((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})-0?2-(0?[1-9]|1\d|2[0-8]))|((((19|20)([13579][26]|[2468][048]|0[48]))|(2000))-0?2-29))$/.test('2021-02-21')$/

  • 年份区间-年月日(间隔符号可为 - / 或空):/^(?:(?:1[6-9]|[2-9][0-9])[0-9]{2}([-/.]?)(?:(?:0?[1-9]|1[0-2])\1(?:0?[1-9]|1[0-9]|2[0-8])|(?:0?[13-9]|1[0-2])\1(?:29|30)|(?:0?[13578]|1[02])\1(?:31))|(?:(?:1[6-9]|[2-9][0-9])(?:0[48]|[2468][048]|[13579][26])|(?:16|[2468][048]|[3579][26])00)([-/.]?)0?2\2(?:29))$/

编程相关

  • 16进制颜色:/^#?([a-fA-F0-9]{6}|[a-fA-F0-9]{3})$/

  • 提取网页颜色代码:/^#([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$/

  • 视频链接地址:/^https?:\/\/(.+\/)+.+(\.(swf|avi|flv|mpg|rm|mov|wav|asf|3gp|mkv|rmvb|mp4))$/i

  • 图片链接地址:/^https?:\/\/(.+\/)+.+(\.(gif|png|jpg|jpeg|webp|svg|psd|bmp|tif))$/i

  • mac 地址:/^((([a-f0-9]{2}:){5})|(([a-f0-9]{2}-){5}))[a-f0-9]{2}$/i

  • 子网掩码:/^((?:(?:25[0-5]|2[0-4]\\d|[01]?\\d?\\d)\\.){3}(?:25[0-5]|2[0-4]\\d|[01]?\\d?\\d))$/

  • 文件扩展名效验:/^([a-zA-Z]\\:|\\\\)\\\\([^\\\\]+\\\\)*[^\\/:*?"<>|]+\\.txt(l)?$/

  • java包名(x.x.x):/^([a-zA-Z_]\w*)+([.][a-zA-Z_]\w*)+$/

  • xml文件:/^([a-zA-Z]+-?)+[a-zA-Z0-9]+\\.[x|X][m|M][l|L]$/

  • html 注释:/<!--[\s\S]*?-->/g

  • html 标签1:/<(\w+)[^>]*>(.*?<\/\1>)?/

  • html 标签2:/<(\S*?)[^>]*>.*?</\1>|<.*? />/

  • 首尾空白字符:/^\s*|\s*$/

  • 查找CSS属性:/^\\s*[a-zA-Z\\-]+\\s*[:]{1}\\s[a-zA-Z0-9\\s.#]+[;]{1}/

  • 提取页面超链接:/(<a\\s*(?!.*\\brel=)[^>]*)(href="https?:\\/\\/)((?!(?:(?:www\\.)?'.implode('|(?:www\\.)?', $follow_list).'))[^" rel="external nofollow" ]+)"((?!.*\\brel=)[^>]*)(?:[^>]*)>/

  • 提取网页图片:/\\< *[img][^\\\\>]*[src] *= *[\\"\\']{0,1}([^\\"\\'\\ >]*)/

  • 迅雷链接:/^thunder:\/\/[a-zA-Z0-9]+=$/

  • ed2k链接:/^ed2k:\/\/|file|.+|\/$/

  • linux"文件"路径:/^\/(\w+\/)+\w+\.\w+$/

  • window下"文件"路径:/^[a-zA-Z]:\\(?:\w+\\)*\w+\.\w+$/

生活相关

  • 金额(宽松,可为负、首位可为0,支持千分位分隔):/^-?\d+(,\d{3})*(\.\d{1,2})?$/

  • 金额(大于 0 ,两位小数):/(^[1-9]{1}[0-9]*$)|(^[0-9]*\.[0-9]{2}$)/

  • 金额(严格,不为负、小数点后最多两位,首位不为0):/(^[1-9]([0-9]+)?(\.[0-9]{1,2})?$)|(^(0){1}$)|(^[0-9]\.[0-9]([0-9])?$)/

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

  • 香港身份证:/^[a-zA-Z]\d{6}\([\dA]\)$/

  • 澳门身份证:/^[1|5|7]\d{6}\(\d\)$/

  • 湾湾身份证:/^[a-zA-Z][0-9]{9}$/

  • 股票代码:/^(s[hz]|S[HZ])(000[\d]{3}|002[\d]{3}|300[\d]{3}|600[\d]{3}|60[\d]{4})$/

  • 不含 abc 的单词:/\b((?!abc)\w)+\b/

  • 100.未完待续 ......


小结:

本篇浅浅的整理了一波正则,其中很多本瓜也是边看边学,借助  jex.im/regulex/,太棒了!

如果有补充的,欢迎评论留言,或者有发现错误的,欢迎提出来,马上订正。希望能对你的正则学习、使用有所帮助哈~

原文地址:https://juejin.cn/post/7119242343798013959

更多编程相关知识,请访问:编程教学!!

声明
本文转载于:掘金社区。如有侵权,请联系admin@php.cn删除

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

AI Hentai Generator

AI Hentai Generator

免费生成ai无尽的。

热门文章

R.E.P.O.能量晶体解释及其做什么(黄色晶体)
4 周前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳图形设置
4 周前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.如果您听不到任何人,如何修复音频
4 周前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.聊天命令以及如何使用它们
4 周前By尊渡假赌尊渡假赌尊渡假赌

热工具

mPDF

mPDF

mPDF是一个PHP库,可以从UTF-8编码的HTML生成PDF文件。原作者Ian Back编写mPDF以从他的网站上“即时”输出PDF文件,并处理不同的语言。与原始脚本如HTML2FPDF相比,它的速度较慢,并且在使用Unicode字体时生成的文件较大,但支持CSS样式等,并进行了大量增强。支持几乎所有语言,包括RTL(阿拉伯语和希伯来语)和CJK(中日韩)。支持嵌套的块级元素(如P、DIV),

Atom编辑器mac版下载

Atom编辑器mac版下载

最流行的的开源编辑器

EditPlus 中文破解版

EditPlus 中文破解版

体积小,语法高亮,不支持代码提示功能

PhpStorm Mac 版本

PhpStorm Mac 版本

最新(2018.2.1 )专业的PHP集成开发工具

WebStorm Mac版

WebStorm Mac版

好用的JavaScript开发工具