温故知新javascript 正则表达式

转自:http://www.onlyaa.com/html/javascript/20090427/2379.html

 

一、 javascript正则表达式的基本知识

  1. javascript 正则对象创建 和用法

     声明javascript 正则表达式
    var reCat = new RegExp("cat");
    你也可以
    var reCat = /cat/;      //Perl 风格   (推荐)
  2. 学习最常用的 test exec match search  replace  split 6个方法

    1) test  检查指定的字符串是否存在
  3.     var data = "123123";  
        var reCat = /123/gi;  
        alert(reCat.test(data));  //true  
               
        //检查字符是否存在  g 继续往下走  i 不区分大小写  
     exec 返回查询值
        var data = "123123,213,12312,312,3,Cat,cat,dsfsdfs,";  
        var reCat = /cat/i;  
        alert(reCat.exec(data));  //Cat  
     
    3)match  得到查询数组
    
    [javascript] view plaincopy
    
        var data = "123123,213,12312,312,3,Cat,cat,dsfsdfs,";  
        var reCat = /cat/gi;  
        var arrMactches = data.match(reCat)  
        for (var i=0;i < arrMactches.length ; i++) {  
            alert(arrMactches[i]);   //Cat  cat  
        }  
    
    4) search  返回搜索位置  类似于indexof
    
    [javascript] view plaincopy
    
        var data = "123123,213,12312,312,3,Cat,cat,dsfsdfs,";  
        var reCat = /cat/gi;  
        alert(data.search(reCat));  //23  
    
    5) replace  替换字符  利用正则替换
    
    [javascript] view plaincopy
    
        var data = "123123,213,12312,312,3,Cat,cat,dsfsdfs,";  
        var reCat = /cat/gi;  
         alert(data.replace(reCat,"libinqq"));  
    
    6)split   利用正则分割数组
    
    [javascript] view plaincopy
    
        var data = "123123,213,12312,312,3,Cat,cat,dsfsdfs,";  
        var reCat = //,/;  
        var arrdata = data.split(reCat);  
        for (var i = 0; i < arrdata.length; i++)  {  
              alert(arrdata[i]);  
        }  
    
    3.学习下  简单类   负向类  范围类  组合类
    
    [c-sharp] view plaincopy
    
        //简单类  
               var data = "1libinqq,2libinqq,3libinqq,4libinqq";  
               var reCat = /[123]libinqq/gi;  
               var arrdata = data.match(reCat);  
               for (var i = 0; i < arrdata.length; i++)  
               {  
                    alert(arrdata[i]);  // 1libinqq 2libinqq  3libinqq  
               }  
        //负向类  
               var data = "alibinqq,1libinqq,2libinqq,3libinqq,4libinqq";  ///u0062cf  
               var reCat = /[^a123]libinqq/gi;  
               var arrdata = data.match(reCat);  
               for (var i = 0; i < arrdata.length; i++)  
               {  
                    alert(arrdata[i]);  //4libinqq  
               }  
        //范围类  
               var data = "libinqq1,libinqq2,libinqq3,libinqq4,libinqq5";  ///u0062cf  
               var reCat = /libinqq[2-3]/gi;  
               var arrdata = data.match(reCat);  
               for (var i = 0; i < arrdata.length; i++)  
               {  
                    alert(arrdata[i]);   // libinqq2  libinqq3  
               }  
        //组合类  
              var data = "a,b,c,w,1,2,3,5";  ///u0062cf  
               var reCat = /[a-q1-4/n]/gi;  
               var arrdata = data.match(reCat);  
               for (var i = 0; i < arrdata.length; i++)  
               {  
                    alert(arrdata[i]);  // a b c 1 2 3  
               }  
     
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值