• 正则表达式常用的验证方法


    一,定义正则表达式

    1,通过构造函数的方式定义正则表达式****************需要更多的转义字符
    
       例如: 代码如下
    
       var re = new RegExp("\?w{1,} = \w{1,}&){1,}\w{1,} = \w{1,}");
    
       使用构造函数定义正则表达式,注意大小写,否则就会不起作用。由于构造函数的参数是一个字符串,       也可以是两个斜杠的方式定义,遇到一些特殊字符就需要使用进行转义
       通过双斜杠的方式定义同样的正则表达式
    
    
    
    
    
    2,通过//,也就是两个斜杠定义正则表达式
    
       例如: 代码如下
    
       var   re =/?(w{1,}=w{1,}&){1,}w{1,}=w{1,}/;
    

    二,在验证中经常使用的三个正则表达式方法

     使用的正则表达式的主要有字符串的方法match,正则表达式的方法 exec , test
    
     1,正则表达式方法test测试给定的字符串是否满足正则表达式,返回值是boolean类型,只有ture和false,如果是单纯的判断,不需要其他的处理,可以使用尤其是验证时
    
      代码如下:
    
        function test(){ 
            var text="index.aspx?test=1&ww=2&www=3"; //    
             var   re =/?(w{1,}=w{1,}&){1,}w{1,}=w{1,}/;
           //  var   re =new RegExp("\?(\w{1,}=\w{1,}&){1,}\w{1,}=\w{1,}");
             var result=  re.test(text);
            if(result)
             {
             alert("ok");   
              }else{
               alert("err");  
                 }                 
          }
    
    
       2,正则表达式方法exec测试给定的字符串是否满足正则表达式,返回匹配到的字符串,如果没有匹配的则返回null,和test基本一致,如果需要获取匹配的各个子字符串,可以使用下标的方式,把上边的test的例子可以改写如下
    
        代码如下:
                function test(){ 
                     var text="index.aspx?test=1&ww=2&www=3";
                     var   re = /?(w{1,}=w{1,}&){1,}w{1,}=w{1,}/;
                    //  var   re =new RegExp( "\?(\w{1,}=\w{1,}&){1,}\w{1,}=\w{1,}");
                     var result=  re.exec(text); 
                    if(result)
                       {
                          alert("ok"); 
                          alert(result);            // 是?test=1&ww=2&www=3,ww=2&     
                          alert(result[0]+",0");     //是?test=1&ww=2&www=3
                         alert(result[1]+",1");      //是ww=2&     
                       }else
                       {
                         alert("err");  
                        }   
    
                     }
    
    
    
    
         3,match其实是字符串的方法,但参数确是一个正则表达式,把上边的例子改写后,如下
    
        代码如下:
           function test(){ 
                    var text="index.aspx?test=1&ww=234"; //
                     var   re = /?(w{1,}=w{1,}&){1,}w{1,}=w{1,}/;
               //   var   re2 = "(\w{1,}=\w{1,}&){1,}\w{1,}=\w{1,}"
                   var result= text.match(re);
                   if(result)
                    {
                           alert(result);//?test=1&ww=234,test=1&        
                          alert(result[0]+",0");//?test=1&ww=234
                           alert(result[1]+",1");//test=1&
                        }else
                             {
                              alert("err");  
                              }  
                     }
    
              其实字符串类还有多个函数可以传递正则表达式,split,search,replace等但这些方法已经不适合验证了。
    
                     代码如下:
                             function test(){ 
                                      var text="index.aspx?test=1&ww=234"; //
                                     var   re = /?(w{1,}=w{1,}&){1,}w{1,}=w{1,}/;
                                //   var   re2 = "(\w{1,}=\w{1,}&){1,}\w{1,}=\w{1,}"
                              var result= text.split(re);     
                               alert(result);        
                                alert(result[0]+",0");
                                  alert(result[1]+",1");    
                                 }
    

    三,正则表达式的转义字符

      在正则表达式中会经常出现转义字符,例如问号?在正则表达式中有特殊的含义,如果需要匹配问号?就需要转义,使用转义字符反斜杠
    

    如下两个都是匹配问号开头的一段字符串

    代码如下:

    function test(){
    var text="?test=1&ww=2&www=3";
    var re = /^?(w{1,}=w{1,}&){1,}w{1,}=w{1,}/;// ?表示配置问号?
    // var re =new RegExp( "^?(w{1,}=w{1,}&){1,}w{1,}=w{1,}");// ?表示配置问号?
    var result= re.exec(text);
    if(result)
    {
    alert("ok");
    alert(result);
    alert(result[0]+",0");
    alert(result[1]+",1");
    }else
    {
    alert("err");
    }

      }
  • 相关阅读:
    控件与布局
    高性能mysql笔记 第一章 mysql架构
    简单排序——冒泡,选择,插入
    spring boot的默认配置
    nginx配置 负载均衡
    nginx+tomcat反向代理
    fiddler(4)安装--L
    fiddler(3)http协议-响应报文--L
    fiddler(2)http协议-请求报文--L
    Fiddler(1)简介--L
  • 原文地址:https://www.cnblogs.com/wangshichuan/p/4082523.html
Copyright © 2020-2023  润新知