1 / 17
文档名称:

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

格式:ppt   大小:243KB   页数:17页
下载后只包含 1 个 PPT 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

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

上传人:dyx110 2020/2/2 文件大小:243 KB

下载得到文件列表

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

文档介绍

文档介绍:第十六讲:正则表达式讲师:杨兴e-mail:jtclass@容安排正则表达式基础简单模式复杂模式常用模式正则表达式基础为什么使用正则表达式在这之前曾有过字符验证例子,其中验证字符的代码非常繁琐冗长。有了正则表达式,验证程序的代码变得简洁而更强大,代码运行的速度更快。为了判断某个字符串是否符合某种格式,使用正规表达的最为合适。通常,人们在表单数据发送到服务器之前,都需要进行数据合法性验证。例如,客户所填写的电子邮件地址格式是否正确等。使用正则表达式可以使程序代码简单高效。正则表达式基础使用RegExp对象RegExp是JavaScript提供的一个对象,用来完成有关正则表达式的操作和功能,每一条正则表达式模式对应一个RegExp实例。JavaScript使用RegExp对象封装与正则表达式相关的功能和操作,每一个该对象的实例对应着一条正则表达式。和其他对象一样,在使用之前必须取得其引用或新建一个对象实例。创建一个RegExp实例语法如下:varregObj=newRegExp(“pattern”[,”flags”]);参数说明:pattern:必选项,正则表达式的字符串。flags:可选项,是一些标志组合。正则表达式基础在标志组合中,“g”表示全局标志。设定时将搜索整个字符串,以找匹配的内容,每一次新的探索都从RegExp对象的lastIndex标记的字符起,否则只搜索到第一个匹配的内容。“i”表示忽略大小写标志,若设置该项,则在搜索匹配项时忽略大小写,否则将区别大小写。以上所述是创建正则表达式对象的方式之一,另一种创建方式如下:varregObj=/pattern/[flags];参数的意义和第一种方式一样,但这种方式不能用引号将pattern和flags括起来。正则表达式的使用非常简单,只要用一个test方法就行了,如下所示。(string);正则表达式基础regObj表示正则表达式对象,是一个RegExp对象实例。string为源字符串,即将在其中进行匹配操作的字符串。test方法返回一个布尔值,表明是否已经在源串中找到了正则表达式所定义的模式。下面举一个例子来说明。01 <scriptlanguage="javascript">02 varreg=/.o./g; //寻找字符o前后接任意字符组成的有三个字符的字符串03 varstr="Howareyou?" //源串04 varresult=newArray(); //用于接收结果05 while((str)!=null) //执行匹配操作,如果找到匹配则继续找下一项06 {07 (); //添加结果08 }09 alert(result); //输出找到的匹配项10 </script>简单模式元字符元字符是正则表达式最为简单的情况。它指的是与字符序列相匹配,例如范例16-1中的正则表达式filter。其简单的查找语句said中是否存在“一枪爆头”这个语句,这个语句中没有其他有特别含义的字符。01 <scriptlanguage="javascript">02 varfilter=/一枪爆头/g; //将受限制的词句组成正则表达式03 varsaid="他被人一枪爆头了"; //将接受检查的语句04 if((said)) //如果被检查语句中存在受限词句05 {06 alert("该语句中有限制级词语,系统已经过滤!"); //显示警告07 }08 else //否则09 {10 alert(said); //输出原话11 }12 </script>简单模式量词量词就是指定某个特定模式出现的次数。分为简单量词、贪婪量词、惰性量词和支配量词几种。目前IE浏览器并没有实现这些特性,下面简单的介绍这几种量词。贪婪量词,它是首先匹配整个字符串,如果不匹配,则去掉最后一个字符,然后再比较。如果仍然不匹配,则继续去掉最后一个字符再比较,如此一直下去,直到找到匹配或者字符串的字符被取完为止。惰性量词是先看字符串中的第一个字符是不是匹配。如果不匹配,就读入下一个字符,将这两个字符连接成一个字符串。如果还是不匹配,则继续从字符串添加字符直到发现匹配或找完整个字符串为止。简单模式支配量词,它只尝试整个字符串的匹配,如果不能匹配,则不再尝试,也就说它只比较一次。具体的方法见如下的例子。05 <scriptlanguage="JavaScript">06 <!-- 07 functioncheck() 08 { 09 varuse=; //取得用户的输入10 varregx=/[a-z0-9]\w\d/g; //验证输入的正则表达式11 if(!regx