第十六讲:正则表达式.ppt

  1. 1、本文档共17页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
正则表达式基础 简单模式 复杂模式 常用模式 为什么使用正则表达式 在这之前曾有过字符验证例子,其中验证字符的代码非常繁琐冗长。有了正则表达式,验证程序的代码变得简洁而更强大,代码运行的速度更快。为了判断某个字符串是否符合某种格式,使用正规表达的最为合适。通常,人们在表单数据发送到服务器之前,都需要进行数据合法性验证。例如,客户所填写的电子邮件地址格式是否正确等。使用正则表达式可以使程序代码简单高效 。 使用RegExp对象 RegExp是JavaScript提供的一个对象,用来完成有关正则表达式的操作和功能,每一条正则表达式模式对应一个RegExp实例。JavaScript使用RegExp对象封装与正则表达式相关的功能和操作,每一个该对象的实例对应着一条正则表达式。和其他对象一样,在使用之前必须取得其引用或新建一个对象实例。创建一个RegExp实例语法如下: var regObj = new RegExp( “pattern” [,” flags ”] ); 参数说明: pattern:必选项,正则表达式的字符串。 flags:可选项,是一些标志组合。 在标志组合中,“g”表示全局标志。设定时将有哪些信誉好的足球投注网站整个字符串,以找匹配的内容,每一次新的探索都从RegExp对象的lastIndex标记的字符起,否则只有哪些信誉好的足球投注网站到第一个匹配的内容。“i”表示忽略大小写标志,若设置该项,则在有哪些信誉好的足球投注网站匹配项时忽略大小写,否则将区别大小写。以上所述是创建正则表达式对象的方式之一,另一种创建方式如下: var regObj = /pattern/[flags]; 参数的意义和第一种方式一样,但这种方式不能用引号将pattern和flags括起来。正则表达式的使用非常简单,只要用一个test方法就行了,如下所示。 regObj.test( string ); regObj表示正则表达式对象,是一个RegExp对象实例。string为源字符串,即将在其中进行匹配操作的字符串。test方法返回一个布尔值,表明是否已经在源串中找到了正则表达式所定义的模式。 下面举一个例子来说明。 01 script language=javascript 02 var reg = /.o./g; // 寻找字符o前后接任意字符组成的有三个字符的字符串 03 var str = How are you? // 源串 04 var result = new Array(); // 用于接收结果 05 while( reg.exec(str) != null ) // 执行匹配操作,如果找到匹配则继续找下一项 06 { 07 result.push( RegExp.lastMatch ); // 添加结果 08 } 09 alert( result ); // 输出找到的匹配项 10 /script 元字符 元字符是正则表达式最为简单的情况。它指的是与字符序列相匹配,例如范例16-1中的正则表达式filter。其简单的查找语句said中是否存在“一枪爆头”这个语句,这个语句中没有其他有特别含义的字符 。 01 script language=javascript 02 var filter = /一枪爆头/g; // 将受限制的词句组成正则表达式 03 var said = 他被人一枪爆头了; // 将接受检查的语句 04 if( filter.test( said ) ) // 如果被检查语句中存在受限词句 05 { 06 alert( 该语句中有限制级词语,系统已经过滤! ); // 显示警告 07 } 08 else // 否则 09 { 10 alert( said ); // 输出原话 11 } 12 /script 量词 量词就是指定某个特定模式出现的次数。分为简单量词、贪婪量词、惰性量词和支配量词几种。目前IE浏览器并没有实现这些特性,下面简单的介绍这几种量词。 贪婪量词,它是首先匹配整个字符串,如果不匹配,则去掉最后一个字符,然后再比较。如果仍然不匹配,则继续去掉最后一个字符再比较,如此一直下去,直到找到匹配或者字符串的字符被取完为止。 惰性量词是先看字符串中的第一个字符是不是匹配。如果不匹配,就读入下一个字符,将这两个字符连接成一个字符串。如果还是不匹配,则继续从字符串添加字符直到发现匹配或找完整个字符串为止。 支配量词,它只尝试整个字符串的匹配,如果不能匹配,则不再尝试,也就说它只比较一次。 具体的方法见如下的例子。 05 script language=JavaScript 06 !-- 07 function check() 08 { 09 var use=usern

文档评论(0)

好文精选 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档