正则表达式讲义PPT

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
正则表达式
正则表达式
• 正则表达式(Regular Expression) 正则表达式( Expression) • 正则表达式描述了一种字符串匹配的模式。 正则表达式描述了一种字符串匹配的模式。
它可以用来检查字符串是否含有某种子串、 它可以用来检查字符串是否含有某种子串、 将匹配的子串做替换或者从某个串中取出 符合某个条件的子串等
• alert("用户名有效!"); 用户名有效! 用户名有效 • }
• 正则表达式描述了一种字符串匹配的模式。 正则表达式描述了一种字符串匹配的模式。
它可以用来检查字符串是否含有某种子串、 它可以用来检查字符串是否含有某种子串、 将匹配的子串做替换或者从某个串中取出 符合某个条件的子串等。 符合某个条件的子串等。
电子邮件合法性验证
• • • • • • •
var email =document.loginForm.txtEmail.value; var pattern =/^\w*@\w*.\w*$/ =/^\w*@\w*.\ var isEmail = pattern.test(email); if(isEmail==false) if(isEmail==false) { alert("邮件地址非法"); alert("邮件地址非法"); }else{
• 验证密码只能是数字
• 车牌号码中不能包含数字4 车牌号码中不能包含数字4
正则四要素:
• 位置匹配
4-3
位置元字符用来匹配指定的匹配表达式位于 字符串的哪个位置
元字符
^ $ \b
匹配含义
字符串的开头 字符串的结尾 字符串的开头或结尾
例子
/^ab/匹配“abc 而不匹配“cab” /^ab/匹配“abc” 而不匹配“cab 匹配 /xy$/匹配“axy 而不匹配“xya” /xy$/匹配“axy” 而不匹配“xya 匹配 xyW” Wxy” /\bxy/ 匹配 “xyW 而不匹配 “Wxy /xy\ Wxy” /xy\b/ 匹配 “Wxy 而不匹配 xyW” “xyW Wxy” xyW” /\Bxy/ 匹配 “Wxy 而不匹配 “xyW /xy\ xyW” /xy\B/ 匹配 “xyW 而不匹配 Wxy” “Wxy
^、/、[]、{} 直接作用这些字符不会被语法解析 []、 器认为是匹配项,避免产生错误的方法就是在符 号之前加上一个反斜杠,构成转义字符
• /\/\// • /\(1\+2\)/ (1\+2\
匹配一个双斜杠 匹配一个算术表达式 (1+2) 1+2)
匹配项控制
• 使用以对小括号来组成一个复合的匹配项,

正则表达式就是用于描述某些规则的工具。 正则表达式就是用于描述某些规则的工具。 这些规则经常用于处理字符串中的查找或替换字 符串。换句话说, 符串。换句话说,正则表达式就是记录文本规则 的代码。 的代码。 正则表达式就是用一个“字符串” 正则表达式就是用一个“字符串”来描述一 个特征,然后去验证另一个“字符串” 个特征,然后去验证另一个“字符串”是否符合 这个特征。 这个特征。
\B
非字符串的开头或结尾
• 验证不能以数字大头的用户名
• 验证以nb结尾的标识符 验证以nb结尾的标识符
正则四要素:
4-4
• 频率匹配 • 计数元字符用来控制一个匹配项可以在字
符串中出现的次数,这样会使得表达式更 加的灵活通用
转义字符和匹配项控制
• 转义字符 • 元字符占用了很多可能会进行匹配的符号,如:
验证用户名不能包含数字和特殊字符
• function checkUserName(){ //验证用户名 验证用户名 • var fname = document.myform.txtUser.value; • if(fname.length != 0) • { • for(i=0;i<fname.length;i++){ • var ftext = fname.substring(i,i+1); • if(ftext < 9 || ftext > 0) • { • alert("名字中包含数字 \n"+"请删除名字中的数字和特 名字中包含数字 请删除名字中的数字和特 • • • • •
• alert("邮件地址有效!"); alert("邮件地址有效!"); •}
• 正则表达式是由普通字符(如字符a到z)以及特 正则表达式是由普通字符(如字符a
殊字符(称为元字符)组成的文字模式。 殊字符(称为元字符)组成的文字模式。正则表 达式作为一个模板, 达式作为一个模板,将某个字符模式与所搜索的 字符串进行匹配。 字符串进行匹配。
4-1
• 匹配表达式由字母、数字和符号组成,直
接写要匹配的内容
• 验证带027区号的电话号码 验证带027区号的电话号码
• 验证必须带有字母的用户名
正则四要素:
4-2
• 元字符匹配 • 元字符是ECMAScript提供的用来辅助匹配 元字符是ECMAScript提供的用来辅助匹配
表达式的一种字符,它们不能被直接理解 为字面意思。如:benet 为字面意思。如:benet
• var nameValue= document.myform.txtUser.value; • • • • • •
var patternString=/^[a-zA-Z]*$/ var boolValue= patternString.test(nameValue) if(boolValue==false) { alert("用户名非法 用户名非法"); 用户名非法 }else{
正则四要素:
• 内容匹配: • var str =“hello benet”; =“ benet” • str = str.replace(/benet/,”accp”); str.replace(/benet/,”accp”

var regexpObject = /^http[s]?:\/\/$/ /^http[s]?:\
系统在进行匹配时会作为一个整体来匹配 它 • 如: • /ab+/ • /(ab)+/ ab)


殊字符"); 殊字符 return false } else{ – alert("请输入“名字”文本框 请输入“ 请输入 名字”文本框"); document.myform.txtUser.focus(); return false } return true; }
……
• 正则验证: 正则验证:

ቤተ መጻሕፍቲ ባይዱ
正则表达式对象
• 语法
var 对象名 = /表达式/ /表达式/
var 对象名 = new RegExp()
正则表达式对象应用
• URL验证 URL验证
• var regexpObject = /^http[s]?:\/\/$/ /^http[s]?:\
var isURL = regexpObject .test(“http://”) .test(“http://” 结果为:true 结果为:true var regExpObj = new (egExp(“^http[s]?:\/\/”) (egExp(“^http[s]?:\ var isURL = regExpObj . .test(“http://”) .test(“http://” 结果为:true 结果为:true
相关文档
最新文档