视频1 视频21 视频41 视频61 视频文章1 视频文章21 视频文章41 视频文章61 推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37 推荐39 推荐41 推荐43 推荐45 推荐47 推荐49 关键词1 关键词101 关键词201 关键词301 关键词401 关键词501 关键词601 关键词701 关键词801 关键词901 关键词1001 关键词1101 关键词1201 关键词1301 关键词1401 关键词1501 关键词1601 关键词1701 关键词1801 关键词1901 视频扩展1 视频扩展6 视频扩展11 视频扩展16 文章1 文章201 文章401 文章601 文章801 文章1001 资讯1 资讯501 资讯1001 资讯1501 标签1 标签501 标签1001 关键词1 关键词501 关键词1001 关键词1501 专题2001
详解JavaScript正则表达式之RegExp对象_javascript技巧
2020-11-27 21:47:15 责编:小采
文档
一、RegExp对象概述
RegExp对象表示正则表达式,RegExp是正则表达式的缩写,它是对字符串执行模式匹配的强大工具。RegExp对象用于规定在文本中检索的内容。当您检索某个文本时,可以使用一种模式来描述要检索的内容。RegExp就是这种模式。简单的模式可以是一个单独的字符;更复杂的模式包括了更多的字符,并可用于解析、格式检查、替换等。
正则表达式可以规定字符串中的检索位置,以及要检索的字符类型等。
二、创建RexExp对象
创建正则表达式和创建字符串类似,创建正则表达式有两种方式:
(1)使用字面量创建RegExp对象的语法:
/pattern/attributes;
(2)使用new关键词创建RegExp对象的语法:
new RegExp(pattern, attributes);
参数释义:
1参数pattern是一个字符串,指定了正则表达式的模式或其他正则表达式。
2参数attributes是一个可选的模式字符串,包含属性 "g"、"i" 和 "m",分别用于指定全局匹配、不区分大小写的匹配和多行匹配。
RegExp对象用于存储检索模式。通过new关键词来创建RegExp对象。以下代创建了名为pattern的 RegExp对象,其模式是 "e",当使用该RegExp对象在一个字符串中检索时,将寻找的是字符 "e"。



上述的也可以改成字面量的方式来创建,这种方式也是我们经常使用的方法:



三、RegExp对象详细解析
(1)RegExp对象属性


这些基本我们在上述的例子都已经见过,但我们还是举几个简单的例子来看一下:

输出:true。说明设置了全局模式 
document.write(pattern.ignoreCase+" ");//输出:true 
document.write(pattern.multiline+" ");//输出:true 
document.write(pattern.source+" ");//输出:e 


(2)RegExp对象方法

RegExp对象有3个方法:test()、exec()以及compile()。
1)test()方法检索字符串中的指定值,返回值是true或false。

输出:true 


2)exec()方法检索字符串中的指定值,返回值是被找到的值;如果没有发现匹配,则返回null。

实例:

输出:e 


实例:
向RegExp对象添加第二个参数,以设定检索。如果需要找到所有某个字符的所有存在,则可以使用 "g" 参数。
在使用 "g" 参数时,exec() 的工作原理如下:

  • 1找到第一个 "e",并存储其位置。
  • 2如果再次运行exec(),则从存储的位置开始检索,并找到下一个 "e",并存储其位置。
  • 
    
    

    输出的结果为:e e e e e e null
    3)compile()方法用于改变正则表达式,compile()既可以改变检索模式,也可以添加或删除第二个参数。

    输出:true 
    pattern.compile("d"); 
    document.write(pattern.test(str));//输出:false 
    
    
    

    (3)支持正则表达式的String对象的方法

    由于正则表达式和String对象有着一定的联系,因此String对象的一些方法可用于正则表达式:

    输出:e,e,e,e,e,e 
    document.write(str.search(pattren)+"
    ");//输出:2(返回第一个匹配到的位置) document.write(str.replace(pattren,"a")+"
    ");//输出:Tha bast things in lifa ara fraa var pattern1=/\s/g;//\s表示空格字符 document.write(str.split(pattren1));//输出:The,best,things,in,life,are,free

    (4)元字符是拥有特殊含义的字符:

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

    输出:true 
    
    

    (5)方括号用于查找某个范围的字符:

    输出:true 
    
    

    (6)量词

    输出:true 
    
    

    四、常用的正则表达式
    主要的是看变量patttern模式字符串表示的正则表达式。其余的是一些JS的基本的东西,可以忽略。
    (1)检查邮政编码

    
    
    

    输入一些数据运行的结果为:
    输入:056500

    输入:123

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

    
    
    

    (3)检查上传文件压缩包

    
    
    

    (4)检查手机号

    
    
    

    下面三个输出的结果就不再一一展示,只要写好模式正则表达式就可以检验输入的数据是否正确。由于刚刚接触正则表达式,可能有不正确的地方,自己会进行完善和修正,希望对大家的学习有所帮助。

    下载本文
    显示全文
    专题