- 2
- 0
- 约6.42千字
- 约 17页
- 2017-11-10 发布于浙江
- 举报
JAVASCRIPT与
课后练习 1、写一个程序实现对当前文档的文本进行搜索。 2、写一个验证电子邮箱地址的程序。 test() 方法用于检测一个字符串是否匹配某个模式。如果字符串 string 中含有与 RegExpObject 匹配的文本,则返回 true,否则返回 false。调用 RegExp 对象 r 的 test() 方法,并为它传递字符串 s,与这个表示式是等价的:(r.exec(s) != null)。 1-* 第十六讲:正则表达式 课程内容安排 正则表达式基础 简单模式 复杂模式 常用模式 正则表达式基础 为什么使用正则表达式 在这之前曾有过字符验证例子,其中验证字符的代码非常繁琐冗长。有了正则表达式,验证程序的代码变得简洁而更强大,代码运行的速度更快。为了判断某个字符串是否符合某种格式,使用正规表达的最为合适。通常,人们在表单数据发送到服务器之前,都需要进行数据合法性验证。例如,客户所填写的电子邮件地址格式是否正确等。使用正则表达式可以使程序代码简单高效 。 正则表达式基础 使用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浏览器并没有实现这些特性,下面简单的介绍这几种量词。 贪婪量词,它是首先匹配整个字符串,如果不匹配,则去掉最后一个字符,然后再比较。如果仍然不匹配,则继续去掉最后一
原创力文档

文档评论(0)