20个常用的正则表达式

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


正则表达式经常被用于字段或任意字符串的校验,比如下面这段校验基本日期格式的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!');   


1、校验密码强度

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


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


2、校验中文

字符串只能是中文


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


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


^\\w+$


4、校验E-Mail 地址


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


5、校验身份证号码

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的版本


^.*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]?)\\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\b


11、校验IP-v6地址


(([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的前缀


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


13、提取URL链接


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


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


^([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、提取页面超链接


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


18、查找CSS属性


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


19、抽取注释


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


20、匹配HTML标签


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


转自   http://www.jianshu.com/p/e7bb97218946                

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/443343.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Mysql处理海量数据时的一些优化查询速度方法

由于在参与的实际项目中发现当mysql表的数据量达到百万级时&#xff0c;普通SQL查询效率呈直线下降&#xff0c;而且如果where中的查询条件较多时&#xff0c;其查询速度简直无法容忍。曾经测试对一个包含400多万条记录&#xff08;有索引&#xff09;的表执行一条条件查询&…

八大排序算法的Python实现

1、插入排序 描述 插入排序的基本操作就是将一个数据插入到已经排好序的有序数据中&#xff0c;从而得到一个新的、个数加一的有序数据&#xff0c;算法适用于少量数据的排序&#xff0c;时间复杂度为O(n^2)。是稳定的排序方法。插入算法把要排序的数组分成两部分&#xff1a;第…

重定向和请求转发的区别

一次重定向的过程 我的代码里面已经写好了&#xff0c;redirectAndFoward.jsp页面上有一个表单&#xff0c;表单重定向到redirectAndFowardTarget.jsp&#xff0c;那么这一次的重定向过程为&#xff1a; 1、以指定方式&#xff08;表单看method&#xff0c;直接URL发起就是GE…

hibernate映射关系的配置

XML文件个人书写规范 <!-- users属性&#xff0c;本类与User的一对多关系 --> 格式&#xff1a;&#xff1f;属性&#xff0c;本类与&#xff1f;的&#xff1f; ?1 属性名 ?2 关联对类型 ?3 关系配置模板 多对一&#xff1a; <many-to-one name…

公司创始人、董事长、CEO和总裁谁更大,有什么区别?

创始人 英文称Founder&#xff0c;创始人是一个企业&#xff0c;社团&#xff0c;基金、组织&#xff0c;网站等的发起和创立人。任正非是华为的创始人。如果公司一开始就有多个人就叫联合创始人。比如腾讯有马化腾张志东等5位联合创始人&#xff0c;阿里巴巴则有马云、张英等1…

JQuery中的一些重要方法

选择上一级元素 parent(expr) 选择所有上级元素(前辈) parents(expr) 选择下一级元素 children(expr) 选择所有后代元素 find(expr) 选择同级元素(兄弟) siblings(expr) 选择兄元素(前一个) prev( expr ) 选…

各种数据库分页查询sql语句

1.oracle数据库分页 select * from (select a.*,rownum rc from 表名 where rownum<endrow) a where a.rc>startrow; 2.DB2数据库分页 Select * from (select rownumber() over() as rc,a.* from (select * from 表名 order by 列名) as a) …

Java线程面试题 Top 53

1) 什么是线程&#xff1f; 线程是操作系统能够进行运算调度的最小单位&#xff0c;它被包含在进程之中&#xff0c;是进程中的实际运作单位。程序员可以通过它进行多处理器编程&#xff0c;你可以使用多线程对运算密集型任务提速。比如&#xff0c;如果一个线程完成一个任务要…

EL表达式的11个内置对象

EL是JSP内置的表达式语言 JSP2.0开始&#xff0c;不让再使用Java脚本&#xff0c;而是使用EL表达式和动态标签来代替Java脚本 EL替代的是<%... %>&#xff0c;也就是说EL只能做输出 EL可以输出的东西都在11个内置对象中&#xff0c;11个内置对象&#xff0c;其中10个是…

xml的约束

为什么需要约束&#xff1f; 比如现在定义一个person的xml文件&#xff0c;只想要这个文件里面保存人的信息&#xff0c;比如name age等&#xff0c;但是如果在xml文件中写了一个标签<猫>&#xff0c;发现可以正常显示&#xff0c;因为符合语法规范。但是猫肯定不…

会话跟踪技术之Cookie

1 Cookie概述 1.1 什么叫Cookie Cookie翻译成中文是小甜点&#xff0c;小饼干的意思。在HTTP中它表示服务器送给客户端浏览器的小甜点。其实Cookie就是一个键和一个值构成的&#xff0c;随着服务器端的响应发送给客户端浏览器。然后客户端浏览器会把Cookie保存起来&#xff…

会话跟踪技术之HttpSession

1 HttpSession概述 1.1 什么是HttpSesssion javax.servlet.http.HttpSession接口表示一个会话&#xff0c;我们可以把一个会话内需要共享的数据保存到HttSession对象中&#xff01; 1.2 获取HttpSession对象 HttpSession request.getSesssion()&#xff1a;如果当前会话已…

Spring MVC 中 HandlerInterceptorAdapter的使用

一般情况下&#xff0c;对来自浏览器的请求的拦截&#xff0c;是利用Filter实现的&#xff0c;这种方式可以实现Bean预处理、后处理。 Spring MVC的拦截器不仅可实现Filter的所有功能&#xff0c;还可以更精确的控制拦截精度。 spring为我们提供了org.springframework.web.ser…

Nginx安装教程

1 nginx安装环境 nginx是C语言开发&#xff0c;建议在linux上运行&#xff0c;本教程使用Centos6.5作为安装环境。 --gcc 安装nginx需要先将官网下载的源码进行编译&#xff0c;编译依赖gcc环境&#xff0c;如果没有gcc环境&#xff0c;需要安装gcc&#xff1a;yum install gcc…

Maven Scope取值的含义

maven依赖关系中Scope的作用 Dependency Scope 在POM 4中&#xff0c;<dependency>中还引入了<scope>&#xff0c;它主要管理依赖的部署。目前<scope>可以使用5个值&#xff1a; * compile&#xff0c;缺省值&#xff0c;适用于所有阶段&#xff0c;会…

Solr--企业级搜索应用服务器

1. 概述 1.1.什么是Solr Solr 是Apache下的一个顶级开源项目&#xff0c;采用Java开发&#xff0c;它是基于Lucene的全文搜索服务器。Solr提供了比Lucene更为丰富的查询语言&#xff0c;同时实现了可配置、可扩展&#xff0c;并对索引、搜索性能进行了优化。 Solr可以独立运行&…

HttpClient使用详解

1. 什么是httpclient HTTP 协议可能是现在 Internet 上使用得最多、最重要的协议了&#xff0c;越来越多的 Java 应用程序需要直接通过 HTTP 协议来访问网络资源。虽然在 JDK 的 java net包中已经提供了访问 HTTP 协议的基本功能&#xff0c;但是对于大部分应用程序来说&#x…

Nginx反向代理及负载均衡

1. nginx反向代理 1.1. 什么是反向代理 通常的代理服务器&#xff0c;只用于代理内部网络对Internet的连接请求&#xff0c;客户机必须指定代理服务器,并将本来要直接发送到Web服务器上的http请求发送到代理服务器中由代理服务器向Internet上的web服务器发起请求&#xff0c;…

SolrCloud详解及搭建

1. 什么是SolrCloud 1.1. 什么是SolrCloud SolrCloud(solr 云)是Solr提供的分布式搜索方案&#xff0c;当你需要大规模&#xff0c;容错&#xff0c;分布式索引和检索能力时使用SolrCloud。当一个系统的索引数据量少的时候是不需要使用SolrCloud的&#xff0c;当索引量很大&am…

Intellij IDEA 快捷键整理

【常规】CtrlShift Enter&#xff0c;语句完成“&#xff01;”&#xff0c;否定完成&#xff0c;输入表达式时按 “&#xff01;”键CtrlE&#xff0c;最近的文件CtrlShiftE&#xff0c;最近更改的文件ShiftClick&#xff0c;可以关闭文件Ctrl[ OR ]&#xff0c;可以跑到大括…