zoukankan      html  css  js  c++  java
  • JavaScript 正则表达式

    1.正则表达式的作用:

      1)正则表达式可以对一个输入的字符串进行测试,查看该输入字符串是否符合要求的模式,比如电话或者邮箱。

      2)替换文本,可以在文档中使用一个正则表达式来表示特定的文字,然后用对象将其删除或者替换别的文字

      3)匹配字符串中的子字符串,然后及逆行操作。

    2.创建正则表达式的语法

      1)

    <script type="text/javascript">
           var str= "aaabbbccc";
           var reg = new RegExp(); //RegExp和Array一样是一个对象,这样没有任何效果,需要将正则表达式作为参数传递进去
           reg = new RegExp("a","ig");//表示查找a,i表示不区分大小写,g表示全文查找
      </script>

      2)作用等同于上面

    reg = /"a"/ig;

    3.正则表达式的属性和对象

      1).test返回一个布尔类型的值,检查所输入的字符串是否存在,存在返回true,不存在返回false

    1             var input = prompt("输入一个六位数的密码")
    2             var reg = /^d{6}&/ig;
    3             var bool = reg.test(input);
    4             console.log(bool);                

      2).exec

        提取指定字符串中的符合要求的子串(或者匹配模式),返回一个数组存放匹配结果;如果没有,则返回null。

        exec可以说是test的升级版本,因为它不仅可以检测,而且检测到了可以直接提取结果。

      3)match,找到一个或多个正则表达式的匹配。

      4)replace,替换与正则表达式匹配的子串。str = str.replace(/正则表达式/ig,"替换的值"),如果替换的值式空,就达到删除的效果。

      5)search,检索与正则表达式相匹配的值。返回下标,找不到就返回-1

    4.正则表达式预定义类

      . 查找单个字符,除了换行和行结束符

      d 匹配一个数字类型

      w 匹配一个字母数字下划线

      W 查找非单词字符

      D 匹配一个非数字

      s 匹配一个空格

      S 查找非空白字符

       匹配单词边界 

      B 匹配非单词边界

    5.预定义字符

             换行符 
             回车符 
             制表符 
      f      换页符(Tab) 
            退格符(BackSpace) 
      v      垂直制表符 
            空字符("") 

    6.量词(理解)

      *   匹配前面的子表达式零次或多次。例如,zo* 能匹配 "z" 以及 "zoo"。 * 等价于{0,}。

      +   匹配前面的子表达式一次或多次。例如,'zo+' 能匹配 "zo" 以及 "zoo",但不能匹配 "z"。+ 等价于 {1,},至少一次。

      ?   匹配前面的子表达式零次或一次。例如,"do(es)?" 可以匹配 "do" 或 "does" 中的"do" 。? 等价于 {0,1},最多一次。 

      {min,max} 规定最少出现次数,和最多出现次数(可以只写一个)

      ^ 用来匹配字符串开头

      $ 用来匹配字符串结尾

     7.属性

      正则表达式是严格区分大小写的

      i 加上去后不区分大小写

      g 全局匹配  找到了一个以后还是会继续接着找

      m  多行匹配

      lastIndex 为一个整数  标示开始下一次匹配的字符位置。也叫作游标,可以获取赋值

      source  正则表达式的源文本

    8.方括号[]表示匹配一个字符

      [abcd] 表示匹配任意一个字符

      [a-z] 匹配a到z的任意一个字符

      [A-Z] 匹配A到Z的任意一个字符

      [0-9] 匹配0到9的任意一个字符

      [^] 表示取反

    应用实例:

    1.写一个function,清楚字符串前后的空格

    var hello  ="   hell o   ";
            function reg(str){                
                str = str.replace(/(^s*)|(s*)$/g,"");//用正则表达式匹配到开头的空格或者结尾的空格,
             然后以“”空字符串代替
    //其中^s是以空格开头,*是不限制次数, //s* $是匹配不限制次数的以结尾的空格 console.log(str); } reg(hello);

    2.试用正则表达式,验证邮箱格式

    function email(email){
            var reg = /^w+@w+(.w{2,3}){1,2}$/g;
            console.log(reg.test(email_value));
        }
        var email_value = "1231231313@qq.com";
        email(email_value);
  • 相关阅读:
    如果因特网中的所有链路都提供可靠的交付服务,TCP可靠传输服务是多余的吗?
    编译运行java程序出现Exception in thread "main" java.lang.UnsupportedClassVersionError: M : Unsupported major.minor version 51.0
    chrome浏览器插件的开启快捷键
    sqlzoo练习题答案
    2019Falg
    python绘图踩的坑
    精益数据分析--测试分析
    np.random的随机数函数
    numpy中文件的存储和读取-嵩天老师笔记
    喜欢的话
  • 原文地址:https://www.cnblogs.com/wangzheng98/p/10901954.html
Copyright © 2011-2022 走看看