tnblog
首页
视频
资源
登录

分享20个正则表达式

5826人阅读 2019/8/16 11:22 总访问:77692 评论:0 收藏:0 手机
分类: GET新技能

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

1 . 校验密码强度

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

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

2. 校验中文

字符串仅能是中文。

  1. ^[\\\u4e00-\\\u9fa5]{0,}$

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

  1. ^\\w+$

4. 校验E-Mail 地址

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

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

5. 校验身份证号码

下面是身份证号码的正则校验。15 或 18位。

15位:

  1. ^[1-9]\\d{7}((0\\d)|(1[0-2]))(([0|1|2]\\d)|3[0-1])\\d{3}$

18位:

  1. ^[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“ 格式的日期校验,已考虑平闰年。

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


7. 校验金额

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

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


8. 校验手机号

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

  1. ^(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版本检查的表达式。

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


10. 校验IP-v4地址

IP4 正则语句。

  1. \\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 正则语句。

  1. (([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}:)
  2. {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}:)
  3. {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,}
  4. |::(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}:
  5. ((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的前缀然后再逻辑判断。

  1. if (!s.match(/^[a-zA-Z]+:\\/\\//))
  2. {
  3.  s = 'http://' + s;
  4. }


13. 提取URL链接

下面的这个表达式可以筛选出一段文本中的URL。

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

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

验证windows下文件路径和扩展名(下面的例子中为.txt文件)

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


15. 提取Color Hex Codes

有时需要抽取网页中的颜色代码,可以使用下面的表达式。

  1. ^#([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$


16. 提取网页图片

假若你想提取网页中所有图片信息,可以利用下面的表达式。

  1. \\< *[img][^\\\\>]*[src] **[\\"\\']{0,1}([^\\"\\'\\ >]*)

17. 提取页面超链接

提取html中的超链接。

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


18. 查找CSS属性

通过下面的表达式,可以搜索到相匹配的CSS属性。

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


19. 抽取注释

如果你需要移除HMTL中的注释,可以使用如下的表达式。

  1. <!--(.*?)-->


20. 匹配HTML标签

通过下面的表达式可以匹配出HTML中的标签属性。

  1. <\\/?\\w+((\\s+\\w+(\\s*=\\s*(?:".*?"|'.*?'|[\\^'">\\s]+))?)+\\s*|\\s*)\\/?>


评价

一些有用的资源分享(工具+电子书)

工具类图片相关工具TinyPNG:https://tinypng.com/ 免费的在线图片压缩工具,压缩率高,无损画质,直接拖拽使用,很方便。p...

mui分享操作

mui分享操作首先给点击事件一个id或者class标识 --&gt;share然后我们直接写js代码//分享操作 varshares={}; mui.plusRead...

mui分享到朋友圈

mui分享操作首先给点击事件一个id或者class标识 --&gt;share然后我们直接写js代码//分享操作 varshares={}; mui.plusRead...

利用OBS推流实现抖音电脑屏幕分享直播,pc游戏直播

OBS介绍开放式广播软件是免费开源软件,用于视频录制和直播。支持的功能包括:编码使用H264(X264)和AAC。支持英特尔快速...

mui 实现文章分享功能

弄了很 久,终于弄出来了,不容易啊。看代码:```csharp &lt;scripttype=&quot;text/javascript&quot;charset=&quot;utf-8...

win10,win11怎么分享屏幕到电视

win10:Win10系统自带的无线投屏功能、现在手机电视都是支持Miracast协议的,把屏幕内容投屏到电视上使用很方便。一:把电...

英语短句分享:Thinking of the future and having aspirations is essential to leading a happy and fulfilled life

Thinking of the future and having aspirations is essential to leading a happy and fulfilled life.思考未来、胸怀大志...

英语短句分享:When you wake up you need to think that something great is going to happen today and that you are going ...

When you wake up, you need to think that something great is going to happen today, and that you are going to have a...

win11分享wifi,win11开热点。笔记本win11怎么发热点出来

win11分享wifi开热点很简单,不用装什么360wifi。直接在 设置—&gt;网络和internet—&gt;移动热点 点击进去开就行了 如...

vs2017 对 COM 组件的调用返回了错误 HRESULT E_FAIL

vs2017添加引用报错 对 COM 组件的调用返回了错误 HRESULT E_FAIL 1.以管理员身份打开vs2017开发人员命令指示符 2...

分布式-微服务-集群的区别

1.分布式将一个大的系统划分为多个业务模块,业务模块分别部署到不同的机器上,各个业务模块之间通过接口进行数据交互。区...

NPOI操作excel 2007/2010版本

HSSFWorkbook:是操作Excel2003以前(包括2003)的版本,扩展名是.xlsXSSFWorkbook:是操作Excel2007的版本,扩展名是.xlsx先...

nginx常用命令。nginx启动命令。nginx重启命令。nginx关闭命令。nginx测试配置文件是否正确。nginx nginx.pid文件丢失报错

启动命令:start nginx 关闭命令:nginx -s stop nginx -s quit nginx -s stop与nginx -s quit区别 Quit is a graceful shu...

怎么解决vs2015的30天试用期评估结束问题

早上刚打开项目,一脸懵逼,才一个晚上,怎么VS突然就不能用了...显示30天试用期评估结束第一个反应是要收费了,搜了下才知...

用Linq解决商品和其下sku的筛选排序查询

本是sql to linq的东西,但是用的框架是.core 2.1,所以就归到core里吧最近遇到一个稍微复杂点的小问题需求:商城的商品列...
幼儿园抢饭第一名
排名
37
文章
10
粉丝
10
评论
11
系统重装(二):安装Windows系统
: 看了你的教程觉得我又行了!于是我去了趟小米之家!
解决:iframe登录过期跳转登录页面嵌套问题
庸人 : 我去,我上个星期刚解决这个问题。。。。。
ICP备案 :渝ICP备18016597号-1
网站信息:2018-2025TNBLOG.NET
技术交流:群号656732739
联系我们:contact@tnblog.net
公网安备:50010702506256
欢迎加群交流技术