加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

知道这10个正则表达式,能让你少写1000行代码!

发布时间:2020-12-14 06:20:51 所属栏目:百科 来源:网络整理
导读:A BOUT 1分钟科普:什么是正则表达式 你是不是使用过Windows/Dos下用于文件查找的通配符(wildcard),也就是*和?。 比如,如果你想查找某个目录下的所有的Word文档,你会搜索 *.doc 。在这里,*会被解释成任意的字符串。 和“*”这样的通配符类似, 正则表达


A

BOUT

1分钟科普:什么是正则表达式

你是不是使用过Windows/Dos下用于文件查找的通配符(wildcard),也就是*和?。

比如,如果你想查找某个目录下的所有的Word文档,你会搜索*.doc。在这里,*会被解释成任意的字符串。


和“*”这样的通配符类似,正则表达式也是用来进行文本匹配的工具,只不过比起通配符,它能更精确地描述你的需求——当然,代价就是更复杂——比如你可以编写一个正则表达式,用来查找所有以0开头,后面跟着2-3个数字,然后是一个连字号“-”,最后是7或8位数字的字符串(像010-12345678或0376-7654321)。

很强大吧!



正则表达式经常被用于字段或任意字符串的校验,

比如下面这段,是校验基本日期格式的

JavaScript代码:

var reg = /^(d{1,4})(-|/)(d{1,2})2(d{1,2})$/;

var r = fieldValue.match(reg);

if(r==null){

alert('Date format error!')

}

正则表达式,一个十分古老而又强大的文本处理工具,仅仅用一段非常简短的表达式语句,便能够快速实现一个非常复杂的业务逻辑。熟练地掌握正则表达式的话,能够使你的开发效率得到极大的提升!


今天小卓和大家分享:在前端开发中经常使用到的10个正则表达式。

1
校验密码强度


密码的强度必须是包含大小写字母和数字的组合,不能使用特殊字符,长度在8-10之间。

? ? ? ?^(?=.d)(?=.[a-z])(?=.*[A-Z]).{8,10}$

?


2
校验中文字符串仅能是中文



? ? ? ^[u4e00-u9fa5]{0,}$

?


3
由数字、26个英文字母或下划线组成的字符串



^w+$

?


4
校验E-Mail 地址



同密码一样,下面是E-mail地址合规性的正则检查语句。

?   [w!#$%&'+/=?^_`{|}~-]+(?:.[w!#$%&'+/=?^_`{|}~-]+)@(?:[w](?:[w-] ?[w])?.)+w?



5
校验身份证号码



15位:^[1-9]d{7}((0d)|(1[0-2]))(([0|1|2]d)|3[0-1])d{3}$

18位:^[1-9]d{5}[1-9]d{3}((0d)|(1[0-2]))(([0|1|2]d)|3[0-1])d{3}([0-9]|X)$

?


6
校验日期“yyyy-mm-dd“ 格式的日期校验,已考虑平闰年。



?   ^(?:(?!0000)[0-9]{4}-(?:(?:0[1-9]|1[0-2])-(?:0[1-9]|1[0-9]|2[0-8])|(?:0[13-9]|1[0-2])-(?:29|30)|(?:0[13578]|1[02])-31)|(?:[0-9]{2}(?:0[48]|[2468][048]|[13579][26])| (?:0[48]|[2468][048]|[13579][26])00)-02-29)$



7
校验金额,金额校验,精确到2位小数。



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

?


8
校验手机号



下面是国内 13、15、18开头的手机号正则表达式。(可根据目前国内收集号扩展前两位开头号码)

? ? ? ?^(13[0-9]|14[5|7]|15[0|1|2|3|5|6|7|8|9]|18[0|1|2|3|5|6|7|8|9])d{8}$



9
判断IE的版本



? ? ? ?IE目前还没被完全取代,很多页面还是需要做版本兼容,下面是IE版本检查的表达式。   

? ? ? ^.MSIE 5-8?(?!.Trident/[5-9].0).*$



10
校验IP地址



IP4 正则语句:

? ? ? ? (?:(?: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]?)

IP6 正则语句:

  (([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,6}:[0-9a-fA-F]{1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}(:[0-9a-fA-F]{1,3}|([0-9a-fA-F]{1,3}(:[0-9a-fA-F]{1,2}(:[0-9a-fA-F]{1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,6})|:((:[0-9a-fA-F]{1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,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-9a-fA-F]{1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]))


近期热文

  • 你的代码写的很烂 ···

  • 30岁年薪20万算不算很失败?

  • 工作5年的程序员如何拿到月薪25K?

  • 25岁毕业,拿一万块钱月薪……

  • 程序员2W/月和1W/月的工作,你会怎么选?

  • 女程序员实习两个月,今天主动辞职···


面试题:

你被困在一幢200米高的大楼的楼顶。你手里有一根150米长的绳子和一把瑞士军刀。你所站的地方有一个铁钩子。往楼下看时,你发现大楼正中间,也就是100米高的位置上,有一个可以落脚的金属支架,上面还有另外一个钩子。你怎样才能利用这些东西安全到达地面?

请返回对话框回复“逃生”查看分析!

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读