正則表達式,也不是第一次与它见面了。在我们学习ASP.NET视频的时候,验证控件的那个实例中。就有提到过它。

那个时候。都是在控件的属性中自己设置的,用的原理就是正則表達式,当时得感觉就是方便,强大,给我们带来了非常大的便利。

这一次。就是对正則表達式的深入学习了。

一.什么是正則表達式
正則表達式(regular expression)是一个描写叙述字符模式的对象。ECMAScript的RegExp类表示正則表達式。
正則表達式主要用来验证client的输入数据。由于client验证,能够节约大量的server端的系统资源,而且提供更好的用户体验。
假设用户须要在HTML表单中填写姓名、地址、出生日期等。那么在将表单提交到server进一步处理前,JavaScript程序会检查表单以确认用户输入了信息而且这些信息是符合要求的。
二.创建正則表達式
创建正則表達式提供了两种方法,一种是採用new运算符,一种是採用字面量方式
1.两种创建方式
var box = new RegExp('box');   //new的方法
var box = /box/;                        //字面量的方法
2.測试正則表達式
RegExp对象包括两种方法用于測试字符串匹配。test()和exec().
test()方法在字符串中查找是否存在制定的正則表達式并返回布尔值,假设存在则返回true。不存在返回false;
exec()方法也用于在字符串中查找制定正則表達式。假设运行成功。返回包括该查找字符串的相关信息数组。运行失败,返回null。 3.String对象使用正則表達式的4个方法
	
  • match方法获取匹配数组
  • replace方法替换匹配到的数据
  • search方法查找匹配数组
  • split方法拆分成字符串数组
三.获取控制
光从这个名称来看,一点也不知道这里讲的应该会是写什么。所以直接从后面的样例及实现出发,看看它到底是什么。 实例1:
var pattern =/g..gle/;        //点符号表示匹配除了换行符外的随意字符
var str='g12gle';
alert(pattern.test(str));    //返回的结果为true
实例2:
var pattern =/go*gle/;      //o*,表示0个,1个。或者多个o
  var str='gbbbgle';
  alert(pattern.test(str));   //返回的结果为false
实例3:
var pattern =/g.?gle/;      //.? ,表示1个,或者0个的随意字符
var str='gbbgle';
alert(pattern.test(str));   //返回的结果为true
这样看来。获取控制事实上是通过各种特殊字符从而去验证能否与字符串相匹配。 由于有些信息的验证并非唯一的。比方说,我们验证用户的联系方式是否输入合理,我们不能把联系方式写死了,每一个用户的信息都是不一样的,这时候,就须要运用各种字符。字符的表示含义扩大了,从而去与用户的信息相匹配就变得灵活了。 以下将举几个经常使用的正则中就实用到这部分的内容,从实例看。也许就更清楚了。
四.经常使用的正则
1.检查邮政编码
var pattern = /[1-9][0-9]{5}/;  //共六位数字。第一位不能为0
var str ='224000';
alert(pattern.test(str));            //返回的结果为true
2.检查文件压缩包
var pattern =/[\w]+\.zip|rar|gz/;    //\w表示全部数字和字母加下划线
var str = '123.zip';                      //\.表示匹配,后面是一个选择
alert(pattern.test(str));                //返回的结果为true
五.学习感受
正則表達式的学习,在没有深入了解之前,就见识到了它的厉害之处。所以,非常大程度上激发了自己的学习兴趣,非常想做深入的了解。 而在学习这部分内容的过程中,大体上没有什么困难的,有些不理解的通过实例自己去验证,去匹配,也就都攻克了。 正則表達式。非常强大。非常方便,非常喜欢。

【JavaScript】正則表達式的更多相关文章

  1. javascript 正則表達式补充

    定义 JavaScript种正則表達式有两种定义方式,定义一个匹配类似 <%XXX%> 的字符串 1. 构造函数 var reg=new RegExp('<%[^%>]+%&g ...

  2. JavaScript正則表達式知识汇总

    Js 正則表達式知识汇总 正則表達式: 1.什么是RegExp?RegExp是正則表達式的缩写.RegExp 对象用于规定在文本中检索的内容. 2.定义RegExp:var +变量名=new RegE ...

  3. javascript正則表達式 &quot;\b&quot;问题

    preface 昨晚在看<javascript权威指南>后.看见作者自己封装一个兼容全部浏览器的山寨HTML5新API classLIst类.自己想了想认为自己也要去玩一下.可是能力还是有 ...

  4. DOM笔记(十):JavaScript正則表達式

    一.RegExp ECMAScript通过RegExp类型类支持正則表達式,语法和Perl类似: var exp = /pattern/flags; patternb部分是不论什么简单的或复杂的正則表 ...

  5. JavaScript 正則表達式

    一.简单介绍 1.什么是正則表達式 正則表達式本身就是一种语言,这在其他语言是通用的. 正則表達式(regular expression)描写叙述了一种字符串匹配的模式,能够用来检查一个串是否含有某种 ...

  6. 经常使用的正則表達式归纳—JavaScript正則表達式

    来源:http://www.ido321.com/856.html 1.正则优先级 首先看一下正則表達式的优先级,下表从最高优先级到最低优先级列出各种正則表達式操作符的优先权顺序: 2.经常使用的正則 ...

  7. javascript——正則表達式

    正則表達式(RegExp对象):主要用于表单验证 1.创建正則表達式: (1).var ret = /pattern/; pattern是内容.能够是正則表達式的内容,能够是字符或是其它的内容 (2) ...

  8. javascript正則表達式

    定义一个正則表達式 能够用字面量 var regex = /xyz/; var regex = /xyz/i; 也能够用构造函数 var regex = new RegExp('xyz'); var ...

  9. JavaScript使用正則表達式

    2.0 简单介绍 正則表達式是能够用来查找与给定模式匹配的文本的搜索模式.比如,在上一章中,我们在一个较长的字符串中查找子字符串Cookbook: var testValue = "This ...

  10. js正則表達式语法

    1. 正則表達式规则 1.1 普通字符 字母.数字.汉字.下划线.以及后边章节中没有特殊定义的标点符号,都是"普通字符".表达式中的普通字符,在匹配一个字符串的时候,匹配与之同样的 ...

随机推荐

  1. 【洛谷3648/BZOJ3675】[APIO2014]序列分割(斜率优化DP)

    题目: 洛谷3648 注:这道题洛谷3648有SPJ,要求输出方案.BZOJ3675数据组数较多但不要求输出方案. 分析: 这可能是我第三次重学斜率优化了--好菜啊 这道题首先一看就是个DP.稍微推一 ...

  2. Zookeeper概念学习系列之zookeeper的角色

    详细,见如下图 1.领导者(leader) : 负责进行投票的发起和决议,更新系统状态. 2.学习者(learner): 包括跟随者(follower)和观察者(observer). 跟随者(foll ...

  3. cocos2dx实现单机版三国杀(一)

    首先需要一个UI交互类 GameUI   -layer 一个游戏驱动类,负责游戏逻辑的循环 暂时定为GameScene- scene GameScene obj 调用update 更新游戏,addch ...

  4. Intellij IDEA14配置

    一.下载 官网下载地址:http://www.jetbrains.com/idea/ 目前最新的版本是15,发现15注册比较麻烦,好像需要只能通过联网激活.而网上14的离线注册码一大堆,就下载了14, ...

  5. CF831C Jury Marks

    思路: 关键在于“插入”一个得分之后,其他所有得分也随之确定了. 实现: #include <iostream> #include <cstdio> #include < ...

  6. [转]STL之vector容器详解

    vector 容器 vector是C++标准模版库(STL,Standard Template Library)中的部分内容.之所以认为是一个容器,是因为它能够像容器一样存放各种类型的对象,简单的说: ...

  7. [Android]有关外部链接唤醒App需要注意的坑

    移动互联网发展到今天,一个移动app需要和各种各样的外部链接关联,它不再仅仅从手机的桌面启动,更多的将会从其他的应用.浏览器链接.短信.二维码或者微信分享等渠道启动,这里涉及到的是各种各样的营销渠道和 ...

  8. hibernate 级联删除报更新失败的问题(org.hibernate.exception.GenericJDBCException: Could not execute JDBC batch update)

    首先hibernate级联删除的前提是,首先需要在映射文件中配置,配置多表之间的关联关系: 下面以部门表(Dept)和员工表(Emp)为例: 1.在Emp.hbm.xml映射文件中配置many-to- ...

  9. #2028 Lowest Common Multiple Plus

    http://acm.hdu.edu.cn/showproblem.php?pid=2028 应该是比较简单的一道题啊...求输入的数的最小公倍数. 先用百度来的(老师教的已经不知道跑哪去了)辗转相除 ...

  10. 使用CSS3实现表格隔行/隔列变色

    <!DOCTYPE html><html><head> <meta charset="utf-8" /> <title> ...