微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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


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]))


近期热文


面试题:

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

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

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐