经常使用的正則表達式归纳—JavaScript正則表達式
来源:http://www.ido321.com/856.html
1、正则优先级
首先看一下正則表達式的优先级,下表从最高优先级到最低优先级列出各种正則表達式操作符的优先权顺序:
2、经常使用的正則表達式:
匹配中文字符的正則表達式: [\u4e00-\u9fa5]
匹配双字节字符(包含汉字在内):[^\x00-\xff]
匹配空白行的正則表達式:\n\s*\r
ps:能够用来删除空白行
匹配HTML标记的正則表達式:<(\S*?)[^>]*>.*?</\1>|<.*? />
匹配首尾空白字符的正則表達式:^\s*|\s*$
ps:能够用来删除行首行尾的空白字符(包含空格、制表符、换页符等等),很实用的表达式
匹配Email地址的正則表達式:\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*
ps:表单验证时非常有用
匹配网址URL的正則表達式:[a-zA-z]+://[^\s]*
匹配帐号是否合法(字母开头,同意5-16字节,同意字母数字下划线):^[a-zA-Z][a-zA-Z0-9_]{4,15}$
ps:表单验证时非常有用
匹配国内电话号码:\d{3}-\d{8}|\d{4}-\d{7}
ps:匹配形式如 0511-4405222 或 021-87888822
匹配腾讯QQ号:[1-9][0-9]{4,}
ps:腾讯QQ号从10000開始
匹配中国邮政编码:[1-9]\d{5}(?!\d)
ps:中国邮政编码为6位数字
匹配身份证:\d{15}|\d{18}
ps:中国的身份证为15位或18位
匹配ip地址:\d+\.\d+\.\d+\.\d+
ps:提取ip地址时实用
3、匹配特定数字:
1: ^[1-9]\d*$ //匹配正整数
2: -[1-9]\d*$ //匹配负整数
3: -?[1-9]\d*$ //匹配整数
4: [1-9]\d*|0$ //匹配非负整数(正整数 + 0)
5: -[1-9]\d*|0$ //匹配非正整数(负整数 + 0)
6: [1-9]\d*\.\d*|0\.\d*[1-9]\d*$ //匹配正浮点数
7: -([1-9]\d*\.\d*|0\.\d*[1-9]\d*)$ //匹配负浮点数
8: -?([1-9]\d*\.\d*|0\.\d*[1-9]\d*|0?\.0+|0)$ //匹配浮点数
9: [1-9]\d*\.\d*|0\.\d*[1-9]\d*|0?\.0+|0$ //匹配非负浮点数(正浮点数 + 0)
10: (-([1-9]\d*\.\d*|0\.\d*[1-9]\d*))|0?\.0+|0$ //匹配非正浮点数(负浮点数 + 0)
4、匹配特定字符串:
1: ^[A-Za-z]+$ //匹配由26个英文字母组成的字符串
2: ^[A-Z]+$ //匹配由26个英文字母的大写组成的字符串
3: ^[a-z]+$ //匹配由26个英文字母的小写组成的字符串
4: ^[A-Za-z0-9]+$ //匹配由数字和26个英文字母组成的字符串
5: ^\w+$ //匹配由数字、26个英文字母或者下划线组成的字符串
经常使用的正則表達式归纳—JavaScript正則表達式的更多相关文章
- javascript 正則表達式补充
定义 JavaScript种正則表達式有两种定义方式,定义一个匹配类似 <%XXX%> 的字符串 1. 构造函数 var reg=new RegExp('<%[^%>]+%&g ...
- DOM笔记(十):JavaScript正則表達式
一.RegExp ECMAScript通过RegExp类型类支持正則表達式,语法和Perl类似: var exp = /pattern/flags; patternb部分是不论什么简单的或复杂的正則表 ...
- javascript——正則表達式
正則表達式(RegExp对象):主要用于表单验证 1.创建正則表達式: (1).var ret = /pattern/; pattern是内容.能够是正則表達式的内容,能够是字符或是其它的内容 (2) ...
- JavaScript正則表達式知识汇总
Js 正則表達式知识汇总 正則表達式: 1.什么是RegExp?RegExp是正則表達式的缩写.RegExp 对象用于规定在文本中检索的内容. 2.定义RegExp:var +变量名=new RegE ...
- 三种邻接表存图模板:vector邻接表、数组邻接表、链式前向星
vector邻接表: ; struct Edge{ int u,v,w; Edge(int _u=0,int _v=0,int _w=0){u=_u,v=_v,w=_w;} }; vector< ...
- mysql数据库 myisam数据存储引擎 表由于索引和数据导致的表损坏 的修复 和检查
一.mysqlcheck 进行表的检查和修复 1.检查mysqlisam存储引擎表的状态 #mysqlcheck -uuser -ppassword database table -c #检查单 ...
- c#Winform程序调用app.config文件配置数据库连接字符串 SQL Server文章目录 浅谈SQL Server中统计对于查询的影响 有关索引的DMV SQL Server中的执行引擎入门 【译】表变量和临时表的比较 对于表列数据类型选择的一点思考 SQL Server复制入门(一)----复制简介 操作系统中的进程与线程
c#Winform程序调用app.config文件配置数据库连接字符串 你新建winform项目的时候,会有一个app.config的配置文件,写在里面的<connectionStrings n ...
- 表单生成器(Form Builder)之伪造表单数据mongodb篇
这篇文章终于回到了正轨:为mongodb伪造数据.之前的随机数.随机车牌照.随机时间还有这篇笔记中的获取指定长度的中文字符串,都是为这篇笔记做准备.看一下我们的准备(基础代码) // 1.获取指定范围 ...
- ElementUI表单验证攻略:解决表单项启用和禁用验证的切换,以及动态表单验证的综合性问题
试想一种比较复杂的业务场景: 表格(el-table)的每一行数据的第一列是勾选框,最后一列是输入框.当某一行的勾选框勾上时,启用该行的输入框,并开启该行输入框的表单验证:取消该行的勾选框,则禁用该行 ...
随机推荐
- Html网页表格结构化标记的应用
在讲网页表格的结构化标记之前,还是先看几幅图片. Html表格的结构化 所谓的结构化,正如上述第一副图所看到的,就是把我们的表格划分为三种:表头.表体.表尾.从而当我们在改动表体部分的时候,不会影响到 ...
- 『openframeworks』shader制作三角形马赛克效果
不久前做了六边形马赛克的效果,很有意思,乘热打铁,弄了个三角形马赛克. 首先肯定是等边三角形,这样才能真正的无缝拼接.观察发现,三角形可以拼接成之前做个的六边形. 如下图: 我们可以发现6个三角形正好 ...
- 怎样使用CMenu类
CMenu类从CObject类派生而来.为什么要使用CMenu类呢?AppWzard不是把菜单做好了吗?在资源编辑器上修改菜单不是很方便吗? 我是个vc++初学者,自从当斑竹以来,天天看贴子, ...
- WAS ND集群中的HTTP内存会话复制对Java应用程序序列化编程的要求
应用程序需要遵守的约定 在会话中没有自定义对象时,WAS 集群的 HTTP 会话内存复制特性成功地实现了高可用性,使用户在宕机过程中的会话信息没有丢失,操作没有受到任何影响. 在会话中包含自定义对象时 ...
- opencv做的美女找茬程序~
// CMP.cpp : 定义控制台应用程序的入口点. // #include "stdafx.h" #include <cv.h> #include <high ...
- [iOS]简单的APP引导页的实现 (Swift)
在第一次打开APP或者APP更新后通常用引导页来展示产品特性 我们用NSUserDefaults类来判断程序是不是第一次启动或是否更新,在AppDelegate.swift中加入以下代码: func ...
- hadoop namanodejava
最近突然想看下hadoop源码,有利于处理一些突发问题.先从name启动开始, NameNode.java public static void main(String argv[]) throws ...
- Mysql自增主键ID重新排序方法详解
Mysql数据库表的自增主键ID号乱了,需要重新排列. 原理:删除原有的自增ID,重新建立新的自增ID. 1,删除原有主键: ALTER TABLE `table_name` DROP `id`; 2 ...
- 《转载》值得学习!Google的编程样式指南
原网址:http://www.csdn.net/article/2012-10-12/2810689-Google-styleguide 本文分享了Google众多编程语言的样式指南,其中包括C语言. ...
- 《转》python 网络编程
原地址:http://blog.163.com/benben_long/blog/static/19945824320121225918434/ 网络客户端: 1. 理解socket: socket是 ...