范文健康探索娱乐情感热点
投稿投诉
热点动态
科技财经
情感日志
励志美文
娱乐时尚
游戏搞笑
探索旅游
历史星座
健康养生
美丽育儿
范文作文
教案论文
国学影视

知道这20个正则表达式,能让你少写1,000行代码

  正则表达式,一个十分古老而又强大的文本处理工具,仅仅用一段非常简短的表达式语句,便能够快速实现一个非常复杂的业务逻辑。熟练地掌握正则表达式的话,能够使你的开发效率得到极大的提升。
  正则表达式经常被用于字段或任意字符串的校验,如下面这段校验基本日期格式的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!");
  下面是技匠整理的,在前端开发中经常使用到的20个正则表达式。
  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](?:[\\w-]*[\\w])?
  5. 校验身份证号码
  下面是身份证号码的正则校验。15 或 18位。
  15位:
  ^[1-9]\\d{7}((0\\d)|(1[0-2]))(([0|1|2]\\d)|3[0-1])\\d{3}$
  18位:
  ^[1-9]\\d{5}[1-9]\\d{3}((0\\d)|(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](?:\\.[0-9]+)?(?!.*Trident\\/[5-9]\\.0).*$
  10. 校验IP-v4地址
  IP4 正则语句。
  \\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
  11. 校验IP-v6地址
  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,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]))
  12. 检查URL的前缀
  应用开发中很多时候需要区分请求是HTTPS还是HTTP,通过下面的表达式可以取出一个url的前缀然后再逻辑判断。
  if (!s.match(/^[a-zA-Z]+:\\/\\//))
  {
  s = "http://" + s;
  }
  13. 提取URL链接
  下面的这个表达式可以筛选出一段文本中的URL。
  ^(f|ht){1}(tp|tps):\\/\\/([\\w-]+\\.)+[\\w-]+(\\/[\\w- ./?%&=]*)?
  14. 文件路径及扩展名校验
  验证windows下文件路径和扩展名(下面的例子中为.txt文件)
  ^([a-zA-Z]\\:|\\\\)\\\\([^\\\\]+\\\\)*[^\\/:*?"<>|]+\\.txt(l)?$
  15. 提取Color Hex Codes
  有时需要抽取网页中的颜色代码,可以使用下面的表达式。
  ^#([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$
  16. 提取网页图片
  假若你想提取网页中所有图片信息,可以利用下面的表达式。
  \\< *[img][^\\\\>]*[src] *= *[\\"\\"]{0,1}([^\\"\\"\\ >]*)
  17. 提取页面超链接
  提取html中的超链接。
  (<a\\s*(?!.*\\brel=)[^>]*)(href="https?:\\/\\/)((?!(?:(?:www\\.)?".implode("|(?:www\\.)?", $follow_list)."))[^"]+)"((?!.*\\brel=)[^>]*)(?:[^>]*)>
  18. 查找CSS属性
  通过下面的表达式,可以搜索到相匹配的CSS属性。
  ^\\s*[a-zA-Z\\-]+\\s*[:]{1}\\s[a-zA-Z0-9\\s.#]+[;]{1}
  19. 抽取注释
  如果你需要移除HMTL中的注释,可以使用如下的表达式。
  <!--(.*?)-->
  20. 匹配HTML标签
  通过下面的表达式可以匹配出HTML中的标签属性。
  <\\/?\\w+((\\s+\\w+(\\s*=\\s*(?:".*?"|".*?"|[\\^"">\\s]+))?)+\\s*|\\s*)\\/?>
  正则表达式的相关语法
  下面是我找到的一张非常不错的正则表达式 Cheat Sheet,可以用来快速查找相关语法。
  学习正则表达式
  我在网上看到了一篇相当不错的正则表达式快速学习指南,有兴趣继续深入学习的同学可以参考。
  [图片上传失败...(image-5bab19-1553327328715)]
  正则表达式在线测试工具
  regex101是一个非常不错的正则表达式在线测试工具,你可以直接在线测试你的正则表达式哦。

智能手表的黄金时期已经到来!OPPOWatch体验报告智能手表不算是一个新鲜的数码产品了,但为什么OPPO选择在这个时候发布呢?个人觉得最大程度的原因是eSIM功能的普及让智能手表的实用性变高了。在此之前我用过很多智能手表,但体验很一接连暗示秘密武器盘点华为P40手机摄影真功夫近日,华为终端公司发布微博全时超清,时代先机3月26日华为P40系列全球线上发布会见证移动影像新标准并放出华为P40系列预热视频。随后华为消费者业务CEO余承东转发微博,并评论称聚荣耀30系列再曝大招!或搭载潜望式长焦镜头,支持50倍变焦!距离4月15日荣耀新品发布会还有1天,荣耀手机再度曝光出荣耀30系列的重要卖点超稳远摄像。结合此前外媒以及工信部的爆料,基本可以确认荣耀30系列将会搭载支持高倍光学变焦的潜望式长焦2399起荣耀30S评测麒麟820性能5G碉堡,颜值美呆,你爱了吗?作为具备全产业链的5G实力派玩家,3月30日荣耀又增添了一位新成员荣耀30S。发布会上,不难看出荣耀对这款新品寄予了很高的期望,作为荣耀布局5G市场的先锋产品,荣耀30S的各项参数华为MateXs深度体验,这些极致操作真的很有用折叠屏手机到底能为我们的体验带来多大的提升?经过我最近几天对华为MateXs的深入使用,发现相比普通的平板手机,其拥有一些非常高效便利的操作,这些体验都让我更加坚定折叠屏手机未来的5G时代,托盘而出华为的ampampquot野心ampampquot布局你可能真的没看懂!伴随着5G时代的到来,IoT产业也迎来了新一轮的大爆发,如今的智能家居已经全民化,一个普通家庭就可以轻松建立一套完善的智能家居系统。当然,这也就不得不提到华为的HiLink全屋智能手机也能以旧换新?华为新春优惠活动Mate30系列5G版卖疯了距离春节只有不到半个月的时间了,相信很多朋友准备在年底添置一部新手机来犒劳下忙碌了一年的自己,过年回家手机也一定是大家绕不开的话题。眼下5G时代已经开启,手机厂商纷纷推出了自家的5OPPOAce2正式发布,3999的售价合理吗?OPPOAce2正式发布,3999的售价合理吗?OPPOAce2正式发布了,3999元起售,这个定价基本在意料之中今年的骁龙8655G手机很多,价格基本都在3500以上,这似乎也是三星GalaxyS20系列正式发布,各方面都很强大,包括售价备受关注的三星GalaxyS20系列今天凌晨正式发布,各方面都很强大,包括售价!GalaxyS206。2英寸2K分辨率120Hz刷新率OLED挖孔幕,骁龙865处理器,12128G性价比残暴!同价位5G手机为何要选RedmiK305G?5G来了,手机厂商也5G产品也相继发布,没有意外,2019年下半年的5G产品并没有给我们带来多大惊喜,要么就是NSA单模要么就是动则四五千的售价,一时洛阳纸贵,打消了不少消费者购买四曲满溢屏超感知徕卡四摄,华为P40Pro晨曦金图说尽管特殊时期,华为还是惯例举办了两次发布会,似乎只有这样才能体现出P40系列重磅旗舰的地位。笔者也同期拿到了大杯的P40Pro,用了一段时间简单分享下体验感受,因为P40Pro应该
iOS15。4新增怀孕男人表情iOS16首次曝光Win11后续要花钱升级iOS15。4加入怀孕的男人表情符号苹果在iOS15。4测试版中引入了一个怀孕的男人表情符号,有人认为是男妈妈,认为是性别歧视,有人说这个是啤酒肚,更有甚者说库克想做妈妈了等等的猜腾讯新员工直怼上司,最终愤而离职,你怎么看?上次腾讯上热点,是因为员工提出要采取措施,在腾讯杜绝阿里那样的丑闻。这次是因为企业微信的内部表彰通报发出,领导被一位新员工给怼了1。一官网延迟一天上线,客户是不是去流失了?有没有必有没有什么小众软件会让你觉得逼格很高,还很实用?氢应用,跟小程序差不多性质向日葵远程控制软件,控制手机和电脑这款APP是一个做设计的基友安利的,他是在家时远程修图。我觉得比较吸引我去用的是,它能适配各种系统来控制手机和电脑,用来请问相机镜头如何清洗?你好朋友,相机镜头对于摄影爱好者来说可以说比机身都要爱惜,我是每次拍摄完都要对相机和镜头进行外表的清洁,也建议大家每次拍摄完之后简单用相机专用清洁布对相机和镜头的外表进行擦拭,因为本人是一名准高一新生,不知道上高中应不应该买一部智能机?智能手机,就是现在孩子们的梦,每时每刻都想弄到手,你之所以提出这样一个问题,肯定是对趣智能手机有了兴趣。有人说智能手机,对于学生来讲,也不全是坏处。这话好像也有些道理。但他的最大坏想入手iPadmini5,然后又觉得没什么用,你们都用iPad干嘛呢?iPadmini5真的很出乎我的意料,原本的iPadmini4也是个好产品,虽然几年没更新了,但每年都保持着还不错的走量,很多用户也因为mini系列的好,而不断呼唤新的mini面世vivoX70系列搭载V1芯片,这个芯片干什么用的?vivoX70系列搭载V1芯片,这个芯片干什么用的?大家觉得值得等待吗?这颗V1芯片是ISP芯片,被称之为图形图像信号处理芯片那么到底有怎样的作用,能够提升怎样的价值,首先我们来看有什么兼职可以一天一两百?我是一个全职宝妈,副业做气球派对,其实这个也可以看成我的主业。毕竟除了带孩子,这也是我目前唯一的工作。如果说我日入几百很正常,那我日入两三千,肯定很多人会不相信。其实,做这一行的都大家觉得中国移动的宽带怎么样?说实话,用用移动的电话卡还可以,宽带就算了吧服务效率太差,去年办的移动宽带,用了一个星期维护三天,一个月出问题的时间比不出问题的时间还要长,平常出门回家连个无限要等几分钟才能连上。新疆首个共享新能源汽车换电站投用20秒更换动力电池9月1日,新能源汽车车主扫码缴费进入换电站。城投奥动共享新能源汽车换电站位于昌吉市森林公园静苑巷,由昌吉市城投热力公司与成都奥动公司合作建设,于8月25日投用,这是我区首个共享新能手痒想写项目?我挑了10个开源项目送你我刚学完Python语法那会儿,手痒想写个项目检验自己的学习成果。但却不知道写个啥,经过几次失败的尝试和碰壁后认清了现实,发现到自己只是刚学会基本语法,想要从零写个项目还差得远。不