手机版

详细讲解JavaScript正则表达式的RegExp对象

时间:2021-09-20 来源:互联网 编辑:宝哥软件园 浏览:

1.RegExp对象概述RegExp对象表示正则表达式。RegExp是正则表达式的缩写,是字符串模式匹配的有力工具。RegExp对象用于指定在文本中检索的内容。检索文本时,可以使用模式来描述要检索的内容。RegExp就是这样一种模式。简单模式可以是单个字符;更复杂的模式包含更多的字符,可以用于解析、格式检查、替换等。正则表达式可以指定字符串中的检索位置和要检索的字符类型。第二,创建RexExp对象创建正则表达式类似于创建字符串。创建正则表达式有两种方法:(1)使用文字量创建RegExp对象的语法:/pattern/attributes;(2)用新关键字创建RegExp对象的语法:new RegExp(模式、属性);说明:1参数模式是字符串,指定正则表达式或其他正则表达式的模式。Parameter attributes是一个可选的模式字符串,包含属性“g”、“I”和“m”,分别用于指定全局匹配、不区分大小写匹配和多行匹配。RegExp对象用于存储检索模式。使用new关键字创建一个RegExp对象。下一代创建了一个名为pattern的正则表达式对象,它的模式是“e”。当使用这个正则表达式对象在字符串中搜索时,它将寻找字符“e”。

span style=' font-size :18 px;'var pattern=new RegExp(' e ');var pattern=new RegExp('e ',gi);//设置全局搜索不区分大小写/span以上也可以用文字的方式创建,这也是我们经常使用的方法:

span style=' font-size :18 px;'var pattern=/e/;var模式=/e/gi;/span III。RegExp对象的详细分析(1)RegExp对象属性。

基本上,我们已经看到了上面的这些例子,但是让我们看一些简单的例子:

span style=' font-size :18 px;'var模式=/e/gim;document . write(pattern . global ' ');//输出:true。解释全局模式文档;写(模式;ignorecase ' ')已设置;//输出:true document . write(pattern . multiline ' ');//输出:true document . write(pattern . source ' ');//输出:e/span (2)RegExp对象方法。

RegExp对象有三种方法:test()、exec()和compile()。1)1)test()方法检索字符串中的指定值,返回值为true或false。

span style=' font-size :18 px;'var pattern=/e/;var str='生活中最好的东西都是免费的';document . write(pattern . test(str));//输出:true/span 2)exec()方法检索字符串中的指定值,返回值为找到的值;如果没有找到匹配项,则返回null。

示例:

span style=' font-size :18 px;'var pattern=/e/;var str='生活中最好的东西都是免费的';document . write(pattern . exec(str));//输出:e/span实例:在RegExp对象中添加第二个参数来设置检索。如果你需要找到一个字符的所有存在,你可以使用' g '参数。当使用“g”参数时,Exec()的工作原理如下:

1找到第一个“e”并存储其位置。2如果再次运行exec(),从存储的位置开始搜索,找到下一个“e”,并存储其位置。span style=' font-size :18 px;'var模式=/e/g;var str='生活中最好的东西都是免费的';do { var result=pattern . exec(str);document.write(结果' ');} while(结果!=null)/span输出结果是e e e e e e e e null 3)compile()方法用于更改正则表达式。Compile()不仅可以更改检索模式,还可以添加或删除第二个参数。

span style=' font-size :18 px;'var pattern=/e/;var str='生活中最好的东西都是免费的';document . write(pattern . test(str));//输出:true pattern.compile(' d ');document . write(pattern . test(str));//输出:false/span (3)支持正则表达式的String对象的方法。

因为正则表达式与字符串对象相关,所以字符串对象的一些方法可以用于正则表达式:

span style=' font-size :18 px;'var模式=/e/g;//开启全局模式var str='生活中最好的东西都是免费的';document . write(str . match(pattren)' br/');//数组形式的输出:e,e,e,e,e document.write (str。search(pattren)' br/');//输出:2(返回第一个匹配的位置)document.write (str。替换(pattren,“a”)“br/”);//输出:lifa ara fraa var pattern1中的thabast this=/\ s/g;//\s代表空格字符document . write(str . split(pattren 1));//输出:the,best,things,in,life,is,free/span (4)元字符是具有特殊含义的字符:

由于这些被广泛使用,我们仅举几个例子:

span style=' font-size :18 px;'var pattern=/b . UE/;//点符号表示匹配除换行符以外的任何字符。var str='蓝色';document . write(pattern . test(str));//输出:true/span (5)方括号用于查找一定范围的字符:

span style=' font-size :18 px;'var pattern=/[a-z]oogle/;//[a-z]表示26个小写字母,其中任何一个都可以匹配var str=' woogledocument . write(pattren . test(str));//输出:true/span (6)量词。

span style=' font-size :18 px;'var pattern=/go gle/;//o*表示至少匹配一个0 var str=' googledocument . write(pattren . test(str));//输出:true/span iv。常用的正则表达式主要是指由pattern模式字符串表示的正则表达式。剩下的就是JS的一些基本东西,可以忽略。(1)检查邮政编码。

span style=' font-size :18 px;'var pattern=/^[0-9]{6}$/;//必须是6位数字,都是var str=prompt('请输入邮政编码:');If(pattern.test(str)) {alert('您输入了正确的邮政编码!');} else {alert('您输入了错误的邮政编码!');}/span输入一些数据,结果是:输入:056500。

输入:123。

(2)简单的电子邮件地址验证。

span style=' font-size :18 px;'var pattern=/^([\w\.\-] )@([\w\-] )\。([a-zA-Z]{2,4 })$/;Var str=prompt('请输入电子邮件名称:');If(pattern.test(str)) {alert('您输入了正确的邮箱名称!');} else {alert('您输入了错误的邮箱名称!');}/span (3)检查上传文件的压缩包。

span style=' font-size :18 px;'var pattern=/[\w] \。zip | rar | gz/;//\w表示所有数字和字母以及下划线var str=prompt('请输入压缩包的名称:');If(pattern.test(str)) {alert('您输入了正确的压缩包名称!');} else {alert('您输入了不正确的压缩包名称!');}/span (4)检查手机号码。

span style=' font-size :18 px;'var pattern=/^[1][0-9]{10}$/;Var str=提示('请输入您的手机号码:');If(pattern.test(str)) {alert('您输入了正确的手机号码!');} else {alert('您输入了错误的手机号码!');}/span以下三个输出的结果不会一一显示,可以通过编写模式正则表达式来检查输入数据是否正确。由于我刚刚接触到正则表达式,可能会有一些不准确的地方,所以我会进行改进和改正,希望对大家的学习有所帮助。

版权声明:详细讲解JavaScript正则表达式的RegExp对象是由宝哥软件园云端程序自动收集整理而来。如果本文侵犯了你的权益,请联系本站底部QQ或者邮箱删除。