正則表達式,也不是第一次与它见面了。在我们学习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
五.学习感受
正則表達式的学习,在没有深入了解之前,就见识到了它的厉害之处。所以,非常大程度上激发了自己的学习兴趣,非常想做深入的了解。 而在学习这部分内容的过程中,大体上没有什么困难的,有些不理解的通过实例自己去验证,去匹配,也就都攻克了。 正則表達式。非常强大。非常方便,非常喜欢。

最新文章

  1. Spring类型转换 ConversionSerivce Convertor
  2. poj2104 K-th Number区间第k小值 主席树
  3. RestEasy 3.x 系列之四:使用Hibernate_Validator进行数据校验
  4. 精灵的属性Zorder的设置
  5. 在WPF中将某张表中的数据显示到datagrid
  6. C#BASE64 UTF8字符串加密解密
  7. 使用mybatis查询数据,按特定顺序排序
  8. 《数据结构与算法分析:C语言描述》读书笔记------List的C语言实现
  9. FTP publisher plugin插件
  10. JavaScript递归函数解“汉诺塔”
  11. C++实现递归版二分搜索算法
  12. SSRF-php初探
  13. loadrunner error 27796 Failed to connect to server
  14. shell 规范
  15. Asp.net处理程序(第六篇)
  16. OTL翻译(1) -- 说明
  17. Ext学习系列(1)初识Ext
  18. 洛谷 P1486 BZOJ 1503 NOI 2004 郁闷的出纳员 fhq treap
  19. MongoDB的Python客户端PyMongo(转)
  20. 关于JSON字符串

热门文章

  1. Java学习笔记_网络+多线程
  2. WEB开发模式浅析
  3. Ajax——瀑布流
  4. C#——工厂模式
  5. SQl基本操作——try catch
  6. 删除ListView item数据 页面不刷新
  7. 【sqli-labs】 less48 GET -Error based -Blind -Numeric -Order By Clause(GET型基于盲注的整型Order By从句注入)
  8. win10系统安装postgresql后无法连接
  9. IE浏览器new Date()带参返回NaN解决方法
  10. 【上海站】EOLINKER 用户培训之旅,等你来共建API新连接