正则表达式(javascript).ppt

上传人:小飞机 文档编号:5992783 上传时间:2023-09-12 格式:PPT 页数:20 大小:1.27MB
返回 下载 相关 举报
正则表达式(javascript).ppt_第1页
第1页 / 共20页
正则表达式(javascript).ppt_第2页
第2页 / 共20页
正则表达式(javascript).ppt_第3页
第3页 / 共20页
正则表达式(javascript).ppt_第4页
第4页 / 共20页
正则表达式(javascript).ppt_第5页
第5页 / 共20页
点击查看更多>>
资源描述

《正则表达式(javascript).ppt》由会员分享,可在线阅读,更多相关《正则表达式(javascript).ppt(20页珍藏版)》请在三一办公上搜索。

1、,正则表达式,正则表达式,在JavaScript脚本中,利用正则表达式可以很容易的实现文本字符串的检测、替换等功能。正则表达式是字符串,它定义了一个用来搜索匹配字符串的模式。定义模式:/表达式/JavaScript脚本语言中引入正则表达式主要作用:验证字符串格式查找字符串替换文本,正则表达式,正则表达式的应用场合:表单验证:验证表单中某些域是否符合某种规则处理DOM模型:正则表达式可以操作DOM对象或者与DOM对象交互。如通过正则表达式定位DOM中的一个对象。纯编编程逻辑在WEB开发时,常会判断一个字符串有效性,如一个字符串是否是数字、是否为合法的E-MAIL地址等。,如何使用正则表达式?,从

2、指定字符串中搜索子字符串“abc”,function test1()var mystr=doucument.form1.test.value;var myreg=new RegExp(“abc”);if(myreg.test(mystr);alert(“目标字符串中存在子串abc”);else alert(“目标字符串中不存在子串abc”);,创建正则表达式,调用正则表达式的test 方法,使用正则表达式的大致步骤:创建正则表达式调用相关对象的方法,得到匹配结果,RegExp对象的创建,在 JavaScript中,正则表达式的构造可以有两种方法:采用RegExp对象的显式构造函数构造,var

3、reg=new RegExp(“参数”,“flags”),var reg=/参数/flags,采用RegExp对象的隐式构造函数构造,flags标志信息项,示例,显示创建正则表达式:var myregx=new RegExp(“abc”);可以加标志信息,如忽略大小写:var myregx=new RegExp(“abc”,”i”);隐式创建正则表达式:var myregx=/abc/;可以加标志信息,如全文搜索且忽略大小写:var myregx=/abc/ig;,两种构造方式效果是一样的,但仍有小差别,隐式构造在脚本执行时进行编译,一般常用到这个正则表达式式时,用隐式构造法;显式构造法遇到正

4、则表达式时才进行编译,在这个表达式使用较少下使用显式构造法。,正则表达式的操作方法,正则表达式有七种标准的操作方法test()方法:对字符串执行一次测试性搜索,匹配成功返回true;否则返回false。exec()方法:对指定的字符串执行正则表达式的搜索,返回一个包含结果的数组。compile()方法:更换RegExp对象实例所使用的表达式模式search()方法:用来搜索字符串中与正则表达式匹配的子字符串的位置。match()方法:用来执行全局查找,并把查找结果放在一个数组里。replace()方法:在一个字符串中通过正则表达式查找并替换相应内容。不改变原来的字符串,只是重新生成了一个新的字

5、符串。split()方法:用来返回按某种分割标志符将一个字符串拆分为若干个子字符串时所产生的子字符串数组。,如何构造正则表达式,要精确构造所需的正则表达式不是容易的事,要运用好正则表达式,则须充分了解正则表达式的构造语法。正则表达式的语法主要是对正则表达式各个元字符功能的描述。正则表达式分为简单模式和复杂模式。,简单模式,简单模式包括普通字符、特殊字符、字符类及量词等。普通字符:字母、数字、汉字、下划线及没有特殊定义的 标点符号。特殊意义的字符:*+()$.等这些特殊意义的字符必须加上转义字符,如表示*必须用*特殊字符:不便表示的字符,如回车、换行、制表等,表示时也必须加上转义字符。,简单模式

6、,简单模式包括普通字符、特殊字符、字符类及量词等。字符类:包括简单类、反向类、范围类、组合类及预定义类简单类:用方括号“”表示单个字符的“或”的关系,匹配方括号内任意一个字符。如:/abc/可以匹配a、b、c中任意一个字符反向类:用来匹配不在括号内的任意字符。如:/abc/可匹配除a、b、c外的其他任意字符范围类:0-9表示匹配从0-9任意的数字,简单模式,字符类:包括简单类、反向类、范围类、组合类及预定义类组合类:即简单类、反向类和范围类的组合。如:/a-z0-9./可以匹配a-z、0-9和.中任意一个字符预定义类:用某些特别的表示来表示某些组合类。,用户名合法性检测,如何用户名的检测,用户

7、名以字母或数字开头,加单词字符,并以数字结尾的子字符串?,1、RegExp对象2、正则表达式表示为/a-z0-9wd$/,输入用户名单击按钮检测,function test_zifulei(obj)var username=;var regx=/a-z0-9wd$/g/不包含规定字符,用户名无效 if(!regx.test(username)alert(n用户名检测:nn结果:用户名不合法!n);();else alert(n用户名检测:nn结果:用户名合法!n);,用户名合法性检测,正则表达式的表示,量词,正则表达式中,量词是用来限制某些匹配字符个数的,也称限定符。,正则表达式的量词有:,举

8、例,电话号码格式:四位区号-七位号码正则表达式表示为:/d4-d7/物品价格匹配:以¥开头的物品价格正则表达式表示为:/¥d+.?d*/,复杂模式,边界定位符:进行验证时,使用定位符来限定字符的位置以便更快匹配目标子串。常见的边界定位符:,如:/aaa/即必须以aaa开始的字符串/aaa$/即必须以aaa结束的字符串/bjavab/即字符串中java的前后须有空格,function isMobil(obj)var str=;var patrn=/(+86)?13d9$/;var msg=n使用正则表达式验证手机号码:nn;msg+=手机号码:+str+n;if(!patrn.exec(str)

9、msg+=验证结果:手机号码不合法!n;alert(msg);return false;else msg+=验证结果:手机号码合法!n;alert(msg);return true;,手机号码合法性检测,正则表达式的表示,其中$是定位符,function checkmail()var email=document.form3.email.value;alert(email);var reg=/w+(-.w+)*w+(-.w+)*.w+(-.w+)*$/;if(reg.test(email)alert(合法的电子邮件!);return true;elsealert(电子邮件格式不正确);return false;,验证电子邮件地址,正则表达式的表示,电子邮件地址必须含有和.符号,并且.符号在符号之后。,小结,正则表达式的概念正则表达式的构造正则表达式有何优势,

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号