文档介绍:Javascript
第八章正则表达式
回顾
表单与表单元素
表单中常用的事件
常用的表单元素包括文本框、按钮、单选按钮、复选按钮等,表单元素常用事件包括哪些?
目标
了解正则表达式使用场合
掌握正则表达式的简单模式用法
了解和掌握常用的复杂模式用法
网页处理的复杂需求
在编写程序或者网页处理时,经常会有查找符合某些复杂规则的字符串的需求,或者需要检查字符串是否符合某个复杂规则
比如:检查用户输入的E-mail地址是否合法/
检查用户输入的电话号码是否正确/
采用正则表达式处理…
/*   checkSafe():检测域值是否包含特殊字符,如:',/,\,",<,>;
包含返回false,否则返回true。*/ function isSafe(str){   var reg = /^.*[\'|\"|\/|<|>].*$/;   return  !(str);    }
采用字符串匹配处理举例……
//函数名:chksafe//功能介绍:检查是否含有“‘”,’\\‘,“/“//参数说明:要检查的字符串//返回值:0:是  1:不是 function chksafe(a) {        fibdn = new Array ("'" ,"\\", "、", ",", ";", "/");       i=;       j=;      for (ii=0;ii<i;ii++)       { 
for (jj=0;jj<j;jj++)           { 
temp1=(jj);              temp2=fibdn[ii];              if (temp1==temp2) return 0;          }      }      return 1;  }
对比:
第一种方式导致程序又臭又长
正则表达式处理则简洁清晰
什么是正则表达式
正则表达式是一种描述文本规则的代码
各种主流的程序设计语言都提供了对正则表达式的支持。当然,每种语言的实现程度和实现方式都不尽相同,但基本思想是相同的。
JavaScript内置支持正则表达式已经很久了,甚至久于一些高级语言,比如Java()
正则表达式能做什么?
正则表达式是一种进行高效、准确、简洁的进行文本字符串处理的方法学。
模式验证(文本匹配)
文本搜索
文本替换
正则表达式对象
声明正则表达式
语法1: (Perl风格)
var reg = /pattern/[flags]
语法2:
var reg = new RegExp("pattern",["flags "])
pattern:必选项。要使用的正则表达式模式。如果使用语法 1,用"/" 字符分隔模式。如果用语法 2,用引号将模式引起来。
flag:可选项。如果使用语法 2 要用引号将 flag 引起来。标志可以组合使用,可用的有:
g (全文查找出现的所有 pattern)
i (忽略大小写)
m (多行查找)
示例:
var reg = new RegExp(“cat”);
var regCat = new RegExp(“cat”,”gi”);
var reg = /cat/;
var regCat = /cat/gi;
正则表达式常用方法
String 方法
说明
(reg)
使用正则表达式模式对字符串执行查找,并将包含查找的结果作为数组返回
(reg)
返回与正则表达式查找内容匹配的第一个子字符串的位置
(rgExp, replaceText)
返回根据正则表达式进行文字替换后的字符串的复制,如果要替换所有符合的字符串,需要加上”g”
(rgExp)
利用正则分割数组
RegExp 方法
说明
(str)
检查指定的字符串是否存在
(str)
用正则表达式模式在字符串中运行查找,并返回查找到的第一个条目,包含三个属性 input、index、lastIndex(条目的起始、结束位置)
方法示例
var data = "CAt”;
var reg = /at/;
alert((data)); //output “false “
reg = /at/gi;
alert((data)); //output “true“
var str = "a Bat cat,fAt