《正则表达式讲义.ppt》由会员分享,可在线阅读,更多相关《正则表达式讲义.ppt(21页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、正则表达式正则表达式正则表达式(正则表达式(Regular Expression)正则表达式描述了一种字符串匹配的模式。正则表达式描述了一种字符串匹配的模式。它可以用来检查字符串是否含有某种子串、它可以用来检查字符串是否含有某种子串、将匹配的子串做替换或者从某个串中取出将匹配的子串做替换或者从某个串中取出符合某个条件的子串等符合某个条件的子串等 function checkUserName()/function checkUserName()/验证用户名验证用户名验证用户名验证用户名 var fname=;var fname=;if(fname.length!=0)if(fname.lengt
2、h!=0)for(i=0;ifname.length;i+)for(i=0;ifname.length;i+)var ftext=fname.substring(i,i+1);var ftext=fname.substring(i,i+1);if(ftext 0)if(ftext 0)alert(alert(名字中包含数字名字中包含数字名字中包含数字名字中包含数字 n+n+请删除名字中的数字和特殊请删除名字中的数字和特殊请删除名字中的数字和特殊请删除名字中的数字和特殊字符字符字符字符););return false return false else else alert(alert(请输入请
3、输入请输入请输入“名字名字名字名字”文本框文本框文本框文本框););();();return false return false return true;return true;验证用户名不能包含数字和特殊字符验证用户名不能包含数字和特殊字符正则验证:正则验证:正则验证:正则验证:var nameValue=;var nameValue=;var patternString=/a-zA-Z*$/var patternString=/a-zA-Z*$/var boolValue=patternString.test(nameValue)var boolValue=patternString.t
4、est(nameValue)if(boolValue=false)if(boolValue=false)alert(alert(用户名非法用户名非法用户名非法用户名非法););elseelse alert(alert(用户名有效!用户名有效!用户名有效!用户名有效!););正则表达式描述了一种字符串匹配的模式。正则表达式描述了一种字符串匹配的模式。它可以用来检查字符串是否含有某种子串、它可以用来检查字符串是否含有某种子串、将匹配的子串做替换或者从某个串中取出将匹配的子串做替换或者从某个串中取出符合某个条件的子串等。符合某个条件的子串等。var email=;var email=;var pat
5、tern=/w*w*.w*$/var pattern=/w*w*.w*$/var isEmail=pattern.test(email);var isEmail=pattern.test(email);if(if(isEmailisEmail=false)=false)alert(alert(邮件地址非法邮件地址非法););elseelsealert(alert(邮件地址有效!邮件地址有效!););电子邮件合法性验证电子邮件合法性验证 正则表达式是由普通字符(如字符正则表达式是由普通字符(如字符正则表达式是由普通字符(如字符正则表达式是由普通字符(如字符a a到到到到z z)以及特)以及特)以
6、及特)以及特殊字符(称为元字符)组成的文字模式。正则表殊字符(称为元字符)组成的文字模式。正则表殊字符(称为元字符)组成的文字模式。正则表殊字符(称为元字符)组成的文字模式。正则表达式作为一个模板,将某个字符模式与所搜索的达式作为一个模板,将某个字符模式与所搜索的达式作为一个模板,将某个字符模式与所搜索的达式作为一个模板,将某个字符模式与所搜索的字符串进行匹配。字符串进行匹配。字符串进行匹配。字符串进行匹配。正则表达式就是用于描述某些规则的工具。正则表达式就是用于描述某些规则的工具。正则表达式就是用于描述某些规则的工具。正则表达式就是用于描述某些规则的工具。这些规则经常用于处理字符串中的查找或
7、替换字这些规则经常用于处理字符串中的查找或替换字这些规则经常用于处理字符串中的查找或替换字这些规则经常用于处理字符串中的查找或替换字符串。换句话说,正则表达式就是记录文本规则符串。换句话说,正则表达式就是记录文本规则符串。换句话说,正则表达式就是记录文本规则符串。换句话说,正则表达式就是记录文本规则的代码。的代码。的代码。的代码。正则表达式就是用一个正则表达式就是用一个正则表达式就是用一个正则表达式就是用一个“字符串字符串字符串字符串”来描述一来描述一来描述一来描述一个特征,然后去验证另一个个特征,然后去验证另一个个特征,然后去验证另一个个特征,然后去验证另一个“字符串字符串字符串字符串”是否
8、符合是否符合是否符合是否符合这个特征。这个特征。这个特征。这个特征。正则表达式对象语法 var 对象名=/表达式/var 对象名=new RegExp()正则表达式对象应用URL验证 var regexpObject=/https?:/$/var regexpObject=/https?:/$/var isURL=regexpObject.test(“http:/”)var isURL=regexpObject.test(“http:/”)结果为:结果为:truetrue var regExpObj=new(egExp(“https?:/”)var regExpObj=new(egExp(“h
9、ttps?:/”)var isURL=regExpObj.test(“http:/”)var isURL=regExpObj.test(“http:/”)结果为:结果为:truetrue正则四要素:4-1内容匹配:var str=“hello benet”;str=str.replace(/benet/,”accp”);var regexpObject=/https?:/$/var regexpObject=/https?:/$/匹配表达式由字母、数字和符号组成,直接写要匹配的内容验证带027区号的电话号码验证必须带有字母的用户名元字符匹配元字符是ECMAScript提供的用来辅助匹配表达式的
10、一种字符,它们不能被直接理解为字面意思。如:benet正则四要素:4-2验证密码只能是数字车牌号码中不能包含数字4位置匹配位置元字符用来匹配指定的匹配表达式位于字符串的哪个位置正则四要素:4-3元字符元字符元字符元字符匹配含义匹配含义匹配含义匹配含义例子例子例子例子 字符串的开头字符串的开头字符串的开头字符串的开头/ab/ab/ab/ab/匹配匹配匹配匹配“abc”“abc”“abc”“abc”而不匹配而不匹配而不匹配而不匹配“cab”“cab”“cab”“cab”$字符串的结尾字符串的结尾字符串的结尾字符串的结尾/xy$/xy$/xy$/xy$/匹配匹配匹配匹配“axy”“axy”“axy”
11、“axy”而不匹配而不匹配而不匹配而不匹配“xya”“xya”“xya”“xya”b b b b字符串的开头或结尾字符串的开头或结尾字符串的开头或结尾字符串的开头或结尾/bxy/bxy/bxy/bxy/匹配匹配匹配匹配“xyW”“xyW”“xyW”“xyW”而不匹配而不匹配而不匹配而不匹配 “Wxy”“Wxy”“Wxy”“Wxy”/xyb/xyb/xyb/xyb/匹配匹配匹配匹配“Wxy”“Wxy”“Wxy”“Wxy”而不匹配而不匹配而不匹配而不匹配 “xyW”“xyW”“xyW”“xyW”B B B B非字符串的开头或结尾非字符串的开头或结尾非字符串的开头或结尾非字符串的开头或结尾 /Bxy
12、/Bxy/Bxy/Bxy/匹配匹配匹配匹配“Wxy”“Wxy”“Wxy”“Wxy”而不匹配而不匹配而不匹配而不匹配 “xyW”“xyW”“xyW”“xyW”/xyB/xyB/xyB/xyB/匹配匹配匹配匹配“xyW”“xyW”“xyW”“xyW”而不匹配而不匹配而不匹配而不匹配 “Wxy”“Wxy”“Wxy”“Wxy”验证不能以数字大头的用户名验证以nb结尾的标识符频率匹配计数元字符用来控制一个匹配项可以在字符串中出现的次数,这样会使得表达式更加的灵活通用正则四要素:4-4转义字符和匹配项控制转义字符转义字符元字符占用了很多可能会进行匹配的符号,如:元字符占用了很多可能会进行匹配的符号,如:、/、直接作用这些字符不会被语法解析直接作用这些字符不会被语法解析器认为是匹配项,避免产生错误的方法就是在符器认为是匹配项,避免产生错误的方法就是在符号之前加上一个反斜杠,构成转义字符号之前加上一个反斜杠,构成转义字符/匹配一个双斜杠匹配一个双斜杠/(1+2)/(1+2)/匹配一个算术表达式匹配一个算术表达式 (1+21+2)匹配项控制使用以对小括号来组成一个复合的匹配项,系统在进行匹配时会作为一个整体来匹配它如:/ab+/(ab)+/