有了这25个正则表达式,代码效率提高80%

作者&投稿:势战 (若有异议请与网页底部的电邮联系)
~ 前言

大家好,我是林三心,在日常开发中,正则表达式是非常有用的,正则表达式在每个语言中都是可以使用的,他就跟JSON一样,是通用的。在日常开发中,了解一些常用的正则表达式,能大大提高你的工作效率,例如

字符串的匹配

表单项的格式校验

今天就给大家分享25个开发中常用的正则表达式吧!!!希望大家能提高代码效率!!!

1、手机号码的校验constphoneReg=/^[1][3,4,5,6,7,8,9][0-9]{9}$/constphoneStr1='18886233487'console.log(phoneReg.test(phoneStr1))//trueconstphoneStr2='17283017203897'console.log(phoneReg.test(phoneStr2))//false2、身份证的校验constsfzReg=/^[1-9]\d{5}(18|19|([23]\d))\d{2}((0[1-9])|(10|11|12))(([0-2][1-9])|10|20|30|31)\d{3}[0-9Xx]$/constsfzStr1='415106199801012130'console.log(sfzReg.test(sfzStr1))//trueconstsfzStr2='718381298381212183'console.log(sfzReg.test(sfzStr2))//false3、邮箱的校验constemailReg=/^([A-Za-z0-9_\-\.])+\@([A-Za-z0-9_\-\.])+\.([A-Za-z]{2,4})$/constemailStrWY='956666@163.com'//163邮箱constemailStrQQ='956666@qq.com'//qq邮箱console.log(emailReg.test(emailStrWY))//trueconsole.log(emailReg.test(emailStrQQ))//trueconstnoEmail='72873213.com'console.log(emailReg.test(noEmail))//false4、URL的校验consturlReg=/^((https?|ftp|file):\/\/)?([\da-z\.-]+)\.([a-z\.]{2,6})([\/\w\.-]*)*\/?$/consturlStr1='https://haha.sunshine.com/xxx/xxx'console.log(urlReg.test(urlStr1))//trueconsturlStr2='sss://haha.sunshine.com/xxx/xxx'console.log(urlReg.test(urlStr2))//false5、IPv4的校验constipv4Reg=/^(?:(?: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]?)$/constipv4Str1='122.12.56.65'console.log(ipv4Reg.test(ipv4Str1))//trueconstipv4Str2='122.12.56.655'console.log(ipv4Reg.test(ipv4Str2))//false6、16进制颜色的校验constcolor16Reg=/^#?([a-fA-F0-9]{6}|[a-fA-F0-9]{3})$/constcolor16Str1='#fff'console.log(color16Reg.test(color16Str1))//trueconstcolor16Str2='#1234567'console.log(color16Reg.test(color16Str2))//false7、日期YYYY-MM-DDconstdateReg=/^\d{4}(\-)\d{1,2}\1\d{1,2}$/constdateStr1='2021-10-10'console.log(dateReg.test(dateStr1))//trueconstdateStr2='2021-01-011'console.log(dateReg.test(dateStr2))//false8、日期YYYY-MM-DDhh:mm:ssconstdateReg=/^(\d{1,4})(-|\/)(\d{1,2})\2(\d{1,2})(\d{1,2}):(\d{1,2}):(\d{1,2})$/constdateStr1='2021-10-1016:16:16'console.log(dateReg.test(dateStr1))//trueconstdateStr2='2021-10-1016:'console.log(dateReg.test(dateStr2))//false9、整数的校验constintReg=/^[-+]?\d*$/constintNum1=12345console.log(intReg.test(intNum1))//trueconstintNum2=12345.1console.log(intReg.test(intNum2))//false10、小数的校验constfloatReg=/^[-\+]?\d+(\.\d+)?$/constfloatNum=1234.5console.log(floatReg.test(floatNum))//true11、保留n位小数constsfzReg=/^[1-9]\d{5}(18|19|([23]\d))\d{2}((0[1-9])|(10|11|12))(([0-2][1-9])|10|20|30|31)\d{3}[0-9Xx]$/constsfzStr1='415106199801012130'console.log(sfzReg.test(sfzStr1))//trueconstsfzStr2='718381298381212183'console.log(sfzReg.test(sfzStr2))//false012、邮政编号的校验constsfzReg=/^[1-9]\d{5}(18|19|([23]\d))\d{2}((0[1-9])|(10|11|12))(([0-2][1-9])|10|20|30|31)\d{3}[0-9Xx]$/constsfzStr1='415106199801012130'console.log(sfzReg.test(sfzStr1))//trueconstsfzStr2='718381298381212183'console.log(sfzReg.test(sfzStr2))//false113、QQ号的校验

说明:5-11位数字

constsfzReg=/^[1-9]\d{5}(18|19|([23]\d))\d{2}((0[1-9])|(10|11|12))(([0-2][1-9])|10|20|30|31)\d{3}[0-9Xx]$/constsfzStr1='415106199801012130'console.log(sfzReg.test(sfzStr1))//trueconstsfzStr2='718381298381212183'console.log(sfzReg.test(sfzStr2))//false214、微信号的校验

说明:6至20位,以字母开头,字母,数字,减号,下划线

constsfzReg=/^[1-9]\d{5}(18|19|([23]\d))\d{2}((0[1-9])|(10|11|12))(([0-2][1-9])|10|20|30|31)\d{3}[0-9Xx]$/constsfzStr1='415106199801012130'console.log(sfzReg.test(sfzStr1))//trueconstsfzStr2='718381298381212183'console.log(sfzReg.test(sfzStr2))//false315、车牌号的校验constsfzReg=/^[1-9]\d{5}(18|19|([23]\d))\d{2}((0[1-9])|(10|11|12))(([0-2][1-9])|10|20|30|31)\d{3}[0-9Xx]$/constsfzStr1='415106199801012130'console.log(sfzReg.test(sfzStr1))//trueconstsfzStr2='718381298381212183'console.log(sfzReg.test(sfzStr2))//false416、只含字母的字符串constsfzReg=/^[1-9]\d{5}(18|19|([23]\d))\d{2}((0[1-9])|(10|11|12))(([0-2][1-9])|10|20|30|31)\d{3}[0-9Xx]$/constsfzStr1='415106199801012130'console.log(sfzReg.test(sfzStr1))//trueconstsfzStr2='718381298381212183'console.log(sfzReg.test(sfzStr2))//false517、包含中文的字符串constsfzReg=/^[1-9]\d{5}(18|19|([23]\d))\d{2}((0[1-9])|(10|11|12))(([0-2][1-9])|10|20|30|31)\d{3}[0-9Xx]$/constsfzStr1='415106199801012130'console.log(sfzReg.test(sfzStr1))//trueconstsfzStr2='718381298381212183'console.log(sfzReg.test(sfzStr2))//false618、密码强度的校验

说明:密码中必须包含字母、数字、特称字符,至少8个字符,最多30个字符

constsfzReg=/^[1-9]\d{5}(18|19|([23]\d))\d{2}((0[1-9])|(10|11|12))(([0-2][1-9])|10|20|30|31)\d{3}[0-9Xx]$/constsfzStr1='415106199801012130'console.log(sfzReg.test(sfzStr1))//trueconstsfzStr2='718381298381212183'console.log(sfzReg.test(sfzStr2))//false719、字符串长度n的校验constsfzReg=/^[1-9]\d{5}(18|19|([23]\d))\d{2}((0[1-9])|(10|11|12))(([0-2][1-9])|10|20|30|31)\d{3}[0-9Xx]$/constsfzStr1='415106199801012130'console.log(sfzReg.test(sfzStr1))//trueconstsfzStr2='718381298381212183'console.log(sfzReg.test(sfzStr2))//false820、文件拓展名的校验constsfzReg=/^[1-9]\d{5}(18|19|([23]\d))\d{2}((0[1-9])|(10|11|12))(([0-2][1-9])|10|20|30|31)\d{3}[0-9Xx]$/constsfzStr1='415106199801012130'console.log(sfzReg.test(sfzStr1))//trueconstsfzStr2='718381298381212183'console.log(sfzReg.test(sfzStr2))//false921、匹配img和srcconstemailReg=/^([A-Za-z0-9_\-\.])+\@([A-Za-z0-9_\-\.])+\.([A-Za-z]{2,4})$/constemailStrWY='956666@163.com'//163邮箱constemailStrQQ='956666@qq.com'//qq邮箱console.log(emailReg.test(emailStrWY))//trueconsole.log(emailReg.test(emailStrQQ))//trueconstnoEmail='72873213.com'console.log(emailReg.test(noEmail))//false022、匹配html中的注释constemailReg=/^([A-Za-z0-9_\-\.])+\@([A-Za-z0-9_\-\.])+\.([A-Za-z]{2,4})$/constemailStrWY='956666@163.com'//163邮箱constemailStrQQ='956666@qq.com'//qq邮箱console.log(emailReg.test(emailStrWY))//trueconsole.log(emailReg.test(emailStrQQ))//trueconstnoEmail='72873213.com'console.log(emailReg.test(noEmail))//false123、匹配html中的styleconstemailReg=/^([A-Za-z0-9_\-\.])+\@([A-Za-z0-9_\-\.])+\.([A-Za-z]{2,4})$/constemailStrWY='956666@163.com'//163邮箱constemailStrQQ='956666@qq.com'//qq邮箱console.log(emailReg.test(emailStrWY))//trueconsole.log(emailReg.test(emailStrQQ))//trueconstnoEmail='72873213.com'console.log(emailReg.test(noEmail))//false224、匹配html中的颜色constemailReg=/^([A-Za-z0-9_\-\.])+\@([A-Za-z0-9_\-\.])+\.([A-Za-z]{2,4})$/constemailStrWY='956666@163.com'//163邮箱constemailStrQQ='956666@qq.com'//qq邮箱console.log(emailReg.test(emailStrWY))//trueconsole.log(emailReg.test(emailStrQQ))//trueconstnoEmail='72873213.com'console.log(emailReg.test(noEmail))//false325、匹配htmlTag(html标签)constemailReg=/^([A-Za-z0-9_\-\.])+\@([A-Za-z0-9_\-\.])+\.([A-Za-z]{2,4})$/constemailStrWY='956666@163.com'//163邮箱constemailStrQQ='956666@qq.com'//qq邮箱console.log(emailReg.test(emailStrWY))//trueconsole.log(emailReg.test(emailStrQQ))//trueconstnoEmail='72873213.com'console.log(emailReg.test(noEmail))//false4结语

如果你觉得此文对你有帮助,点个赞,鼓励一下林三心哈哈。




正则表达式所表示的语言
正则表达式(regular expression)描述了一种字符串匹配的模式(pattern),可以用来检查一个串是否含有某种子串、将匹配的子串替换或者从某个串中取出符合某个条件的子串等。例如:runoo+b,可以匹配 runoob、runooob、runoooooob 等,+ 号代表前面的字符必须至少出现一次(1次或多次)。runoo*b,可以...

正则表达是如何匹配以下条件的字符?
这样 [^\\d](89|99|100)[^\\d]

正则表达如何匹配 xxxxx|aaaaa|cccc 中的"cccc"位置内容
正则:[^|]*\\|[^|]*\\|(.*)截图如下:

正则表达式“或“的使用
正则表达式,又称规则表达式。是计算机科学的一个概念。正则表达式通常被用来检索、替换那些符合某个模式(规则)的文本。许多程序设计语言都支持利用正则表达式进行字符串操作。例如,在Perl中就内建了一个功能强大的正则表达式引擎。正则表达式这个概念最初是由Unix中的工具软件(例如sed和grep)普及开的。...

正则表达死:以字母和数字开头、至少包含两种类型的字符、长度8-16位...
(?!^[a-z]*$)(?!^[A-Z]*$)(?!^[0-9]*$)(?!^[_\\W]*$)^[a-zA-Z0-9].{8,16} 解释:(?!^[a-z]*$) #断言之后的内容不能只有小写字母 (?!^[A-Z]*$) #断言之后的内容不能只有大写字母 (?!^[0-9]*$) #断言之后的内容不能只有数字 (?!^[_\\W]*$)...

正则表达是什么意思
正则表达式是由一系列特定字符和控制符组成的,它们可以用来表示不同类型的文本模式,包括数字、字母、符号、空格等。正则表达式可以使用元字符来定义匹配规则,例如:?、*、+、.等。此外,还有一些预定义的字符类别和后向引用等高级功能可以使得正则表达式更加复杂和强大。使用正则表达式需要对其语法和基本...

求教:这个正则表达式(?<!\\\\d)1[3458][0-9]{4}([0-9])\\\\1{4}(?!\\\\d...
匹配一个字符串,要求:第1个字符是1 第2个字符是3458其中之一 第3-6个字符是0-9其中之一 第7个字符是0-9其中之一 第8-11个字符和第7个字符一样 与该字符串的首尾相邻的字符均不能是数字

求解释这个正则表达式
^\\\\-{0,1}+[1-9]{1}+[0-9]{0,}+\\\\.{1}+[0-9]{1,}$表示整数部分不是0的正的或负的小数 你给的正则的整体的意思就是以上的合集,也就是除0以外的所有整数,再加上所有的小数。不过说实话,写这个正则的水平真是不怎么样,基本算是不会正则,胡乱拼出来的。

密码正则表达
具体来说,\\w匹配的是任何字母(包括大小写)、数字或下划线,而{6,18}中的数字6和18则是指前面的模式(\\w)需要重复出现的次数范围。正则表达式 \/^(\\w[!@#]\\w){6,18}$\/ 中,^表示字符串的开始,$表示字符串的结束,中间的(\\w[!@#]\\w)这部分是核心部分,它会匹配一个字母或数字,接...

正则表示式(^#|^("#)).*$")是什么意思?
正则表示式(^#|^(\\"#)).*$")是什么意思? ^ 匹配一行的开头 匹配一行的结束 \\是转义符,用于消除其后紧跟的"的特殊含义,这里就表示 " 这个字元。. 匹配任意一个字元 表示匹配0个或多个前面这个字元 所以,意思就是,匹配#开头或者"#开头的的行。正则表示式:正则表示式,又称规则表示式...

镇赉县18064821329: 怎么写正则表达式效率才能最高? -
宦彬五味: 1.不用正则.例如想要验证非负数之类的.直接parse一下然后判断不就行了.干嘛非写正则啊.2.少用lazy.懒惰式的.+?这种的计算代价比贪婪式的.+高.如果知道具体的限制大小,用{x,y}效率会更高.3.如果知道具体范围.尽量自己书写范围,避免用'.'.以上只是个人经验.另外刚刚所谓的效率高说的是执行效率方面.从开发效率高的角度上来说,个人认为可读性好的易于分割调试的效率高.毕竟,正则的可读性和调试性是备受诟病的.

镇赉县18064821329: C语言正则表达式 -
宦彬五味: 现在很多种语言都支持正则表达式,据说有个老外的书不错,精通正则表达式,哎,可惜,我们这小地方买本书比较难,C语言当然支持,许多主流语言都支持,正则表达式可以很大的提升效率,一段小代码就能实现长篇大论的程序,很精彩

镇赉县18064821329: 如何在C语言中使用正则表达式 -
宦彬五味: 看到大家讨论这方面的东西,作点贡献聊表各位高手对这个版快的无私奉献 :oops: 如果用户熟悉Linux下的sed、awk、grep或vi,那么对正则表达式这一概念肯定不会陌生.由于它可以极大地简化处理字符串时的复杂 度,因此现在已经在许...

镇赉县18064821329: 正则表达式 -
宦彬五味: 正则经常用于js 判断手机号,邮箱等,通过简单的办法来实现强大的功能 符号解释 字符 描述 \ 将下一个字符标记为一个特殊字符、或一个原义字符、或一个 向后引用、或一个八进制转义符.例如,'n' 匹配字符 "n".'\n' 匹配一个换行符.序列...

镇赉县18064821329: C++中正则表达式怎么用 -
宦彬五味: 正则表达式(regular expression)是计算机科学中的一个概念,又称规则表达式,通常简写为regex、regexp、RE、regexps、regexes、regexen.正则表达式是一种文本模式.正则表达式是强大、便捷、高效的文本处理工具.正则表达式本身...

镇赉县18064821329: Python 正则表达式下面两种写法有什么不一样呢,特别是从效率上来说有什么区别? -
宦彬五味: p1是匹配<h1>之间的所有内容,不包括<h1> p2还把首尾两个<h1>匹配进去了,如果你要取中间的内容,则需要取1号匹配组 效率上应该是没多大区别的

镇赉县18064821329: 正则表达式筛选html代码 -
宦彬五味: Regex reg = new Regex(@"<li><a href=""(?<url>[^""]*)"" target=""_blank"">(?<title>[^<]*)</a></li>"); string html = "<div>sadfasdfasd</div> <div class=\"video_1_left\"> <UL> <li><a href=\"/news/12718.html\" target=\"_blank\...

镇赉县18064821329: js正则表达式过滤html标签,这个正则式怎么写? -
宦彬五味: 代码虽短功能却超强,运行效率也很高!public static string ClearHtmlCode(string text) { text = text.Trim(); if (string.IsNullOrEmpty(text)) return string.Empty; text = Regex.Replace(text, "[/s]{2,}", " "); //two or more spaces text = Regex.Replace(text...

镇赉县18064821329: python怎么根据正则表达式提取指定的内容 -
宦彬五味: python 根据正则表达式提取指定的内容 正则表达式是极其强大的,利用正则表达式来提取想要的内容是很方便的事.下面演示了在python里,通过正则表达式来提取符合要求的内容.实例代码: import re# 正则表达式是极其强大的,利用正...

镇赉县18064821329: java中怎么用正则表达式表示数字,包括整数,小数等 -
宦彬五味: java表示整数和小数的正则表达式 ^[+-]?\\d+(\\.\\d+)?$.正则表达式 正则表达式,又称规则表达式,(英语:Regular Expression,在代码中常简写为regex、regexp或RE),计算机科学的一个概念.正则表达式通常被用来检索、替换那些符合某个模式(规则)的文本.许多程序设计语言都支持利用正则表达式进行字符串操作.例如,在Perl中就内建了一个功能强大的正则表达式引擎,正则表达式这个概念最初是由Unix中的工具软件(例如sed和grep)普及开的.正则表达式通常缩写成“regex”,单数有regexp、regex,复数有regexps、regexes、regexen.

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网