zoukankan      html  css  js  c++  java
  • 正则表达式再思考(待续)

       最近在使用正则表达式的g标志时出现了错误,索性就把正则表达式在总结下,算是加强理解吧!

       1、创建正则表达式

            1.1使用正则表达式字面量(即//)来创建

            var  reg = /(.)at/g;

            1.2使用构造函数(RegExp)

            var  reg = new RegExp('(.)at','g');

            1.3上述二种方法的不同

              1.3.1、表达式中存在元字符(例如[、|等)

               前者: var  reg = /\.at/g    //匹配 .at;后者:var  reg = new RegExp('\\.at','g'); 

        2.标志g的用法

         正则表达式带上g表示应用于所以符合条件的字符串,而不是在发现第一个匹配项后就停止匹配。所以此情况下lastIndex属性会随着表达式的使用发生变化。例如:

         

           案例二:

             

     3.常用的正则表达式  参考 12

      邮箱:  ^[\w-]+(\.[\w-]+)*@[\w-]+(\.[\w-]+)+$

      URL:[http|https|ftp]:////[^\s]+复杂点的:/ [http|https|ftp]:////([\w-]+\.)([\w-]+)(\?[\w=&]*)?

      IP地址:((25[0-4]|2[0-4]\d|[01]?\d\d?)\.) {3}(25[0-4]|2[0-4]\d|[01]?\d\d?)

      QQ:[1-9]\d{4,}

      HTML: <(^[a-z][a-z 0-9"])>\w*<\/\1>|<^[a-z][a-z 0-9"] \/>

      年-月-日: (^[1-9]\d{3})-(1[0-2]|0?[1-9])-(3[0-1]|[12][0-9]|0?[1-9])

      汉字: [\u4e00-\u9fa5]

      大陆手机号: 1\d{10}

      大陆身份证号: ^[1-9]\d{14}$|^[1-9]\d{16}[1-9xX]$

      非负整数: \d+

      正整数:^[1-9]\d*

      负整数: ^-[1-9]\d*

      整数:^-?\d*

      小数: (-?\d*)(\.\d+)?

     4.使用正则表达式不错的案例 

    View Code
     1 请编写一个JavaScript 函数toRGB,它的作用是转换CSS中常用的颜色编码。 要求:
     2 
     3 alert(toRGB("#0000FF"));          // 输出 rgb(0, 0, 255)
     4 alert(toRGB("invalid"));          // 输出 invalid
     5 alert(toRGB("#G00"));              // 输出 #G00
     6 
     7 function  toRGB(val){
     8       var reg1 = /^#([0-9A-F]{2})([0-9A-F]{2})([0-9A-F]{2})$/i;
     9       var reg2 = /^#([0-9A-F])([0-9A-F])([0-9A-F])$/i;
    10       var reg3 = /[0-9A-F]{2}/g;
    11       if(reg2.test(val)){
    12         val = val.replace(reg2,"$1$1$2$2$3$3");
    13       }
    14       
    15       if(reg1.test(val)){
    16         var match = val.match(reg3);
    17         val =  'rgb('+[parseInt(match[0],16),parseInt(match[1],16),parseInt(match[2],16)].join(',')+')';
    18       } 
    19       
    20       return val;
    21 }

        

              

  • 相关阅读:
    单调队列和单调栈
    二叉搜索树(BST)
    高斯消元和高斯约旦消元 Gauss(-Jordan) Elimination
    扩展欧几里德算法
    基数排序
    智力题研究
    快速排序和快速选择
    快读模板
    C#知识点
    C#字段属性设置
  • 原文地址:https://www.cnblogs.com/shamoguying1140/p/3056106.html
Copyright © 2011-2022 走看看