首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

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

正则表达式——古老而又强大的文本处理工具。仅用一段简短的表达式语句,就能快速地实现一个复杂的业务逻辑。掌握正则表达式,让你的开发效率有一个质的飞跃。

正则表达式经常被用于字段或任意字符串的校验,比如下面这段校验基本日期格式的JavaScript代码:

varreg = /^(\\d)(-|\\/)(\\d)\\2(\\d)$/;

varr = fieldValue.match(reg);

if(r==null)alert('Date format error!');

1、校验密码强度

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

^(?=.*\\d)(?=.*[a-z])(?=.*[A-Z]).$

2、校验中文

字符串只能是中文

^[\\u4e00-\\u9fa5]$

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

^\\w+$

4、校验E-Mail 地址

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

5、校验身份证号码

15位:

^[1-9]\\d((0\\d)|(1[0-2]))(([0|1|2]\\d)|3[0-1])\\d$

18位:

^[1-9]\\d[1-9]\\d((0\\d)|(1[0-2]))(([0|1|2]\\d)|3[0-1])\\d([0-9]|X)$

6、校验日期

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

^(?:(?!0000)[0-9]-(?:(?: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](?:0[48]|[2468][048]|[13579][26])|(?:0[48]|[2468][048]|[13579][26])00)-02-29)$

7、校验金额

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

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

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$

9、判断IE的版本

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

10、校验IP-v4地址

\\b(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.)(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\b

11、校验IP-v6地址

(([0-9a-fA-F]:)[0-9a-fA-F]|([0-9a-fA-F]:):|([0-9a-fA-F]:):[0-9a-fA-F]|([0-9a-fA-F]:)(:[0-9a-fA-F])|([0-9a-fA-F]:)(:[0-9a-fA-F])|([0-9a-fA-F]:)(:[0-9a-fA-F])|([0-9a-fA-F]:)(:[0-9a-fA-F])|[0-9a-fA-F]:((:[0-9a-fA-F]))|:((:[0-9a-fA-F])|:)|fe80:(:[0-9a-fA-F])%[0-9a-zA-Z]|::(ffff(:0):)((25[0-5]|(2[0-4]|1[0-9])[0-9])\\.)(25[0-5]|(2[0-4]|1[0-9])[0-9])|([0-9a-fA-F]:):((25[0-5]|(2[0-4]|1[0-9])[0-9])\\.)(25[0-5]|(2[0-4]|1[0-9])[0-9]))

12、检查URL的前缀

if (!s.match(/^[a-zA-Z]+:\\/\\//)){

s = 'http://' + s;}

13、提取URL链接

^(f|ht)(tp|tps):\\/\\/([\\w-]+\\.)+[\\w-]+(\\/[\\w- ./?%&=]*)?

14、文件路径及扩展名校验

^([a-zA-Z]\\:|\\\\)\\\\([^\\\\]+\\\\)*[^\\/:*?"|]+\\.txt(l)?$

15、提取Color Hex Codes

^#([A-Fa-f0-9]|[A-Fa-f0-9])$

16、提取网页图片

\\]*[src] *= *[\\"\\']([^\\"\\'\\ >]*)

17、提取页面超链接

(]*)(href="https?:\\/\\/)((?!(?:(?:www\\.)?'.implode('|(?:www\\.)?', $follow_list).'))[^"]+)"((?!.*\\brel=)[^>]*)(?:[^>]*)>

18、查找CSS属性

^\\s*[a-zA-Z\\-]+\\s*[:]\\s[a-zA-Z0-9\\s.#]+[;]

19、抽取注释

20、匹配HTML标签

\\s]+))?)+\\s*|\\s*)\\/?>

正则表达式 Cheat Sheet,可以用来快速查找相关语法

  • 发表于:
  • 原文链接http://kuaibao.qq.com/s/20180207B1EUCF00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券