资讯专栏INFORMATION COLUMN

js基础 正则

lovXin / 2235人阅读

摘要:正则简而言之就是描述一个事件的规则设置规则,来完成我们需求的一些操作。传入时代表所有符合条件的选项,我的理解就是中的内容。。。。

正则 简而言之就是描述一个事件的规则

  设置规则,来完成我们需求的一些操作。

定义

  var reg=new RegExp(字符串规则,字符串选项);
  var reg=/规则/选项; 

选项

    1  i  ignore--执行忽略大小写的匹配
    2  g  gloal--执行全局匹配(可以查看所有的匹配而不是只找到第一个匹配后就停止)
    3  m  mutil-line--执行多行匹配     

转义:

w  word       单词       [a-zA-Z0-9_]
s   space      空白

D  非数字 [^0-9]
W  非单词 [^a-zA-Z0-9_]
S  非空白

.   任意东西

.  点本身
  斜杠本身```

量词:规定了几个

{n} 正好几个    /d{2}/
        /d{475}/
        /d{2}|d{3}/
{n,m}   最少n个,最多m个
        /d{1,2}/
        /d{2,500}/
        /d{0,1}/  -> 可有可无
{n,}    最少n个,最多不限
        /d{2,}/
        /d{1,}/   若干
        /d{0,}/  
{,m}    最少不限,最多m个   ×

?   {0,1}   可有可无
    /d{0,1}/
    /d?/
+   {1,}    若干
    /d{1,}/
    /d+/
*   {0,}    可以没有,有了也不限
    /d{0,}/
    /d*/```

* 量词,默认只管前面一位

方括号:  []
修饰:
        ^ 开始
        $ 结尾
          boundary  边界  

 [abc]    任意一个    /a|b|c/
  
 [0-9]      区间    
   
 [^abc]      排除
    
 /^a/      -> 以字母a开头的东西
 /[^a]/    -> 排除字母a
 /^[a-z]/  -> 以小写字母开头
 /^[^a-z]/ -> 以非小写字母开头

  
  test()  在字符串中查找符合正则的内容,若查找到返回true,反之返回false.

                ^  $ 优先级比 | 要高

                校验年龄 0-100   var reg=/^([1-9]?d|100)$/; reg.test("22"); // true

   search() 在字符串搜索符合正则的内容,搜索到就返回出现的位置(从0开始,如果匹配的不
                只是一个字母,那只会返回第一个字母的位置), 如果搜索失败就返回 -1;

                首个数字出现的位置 var reg=/d/;    "aa1fsff".search(reg)   // 1

  match()  在字符串中搜索复合规则的内容,搜索成功就返回内容,格式为数组,
                失败就返回null

                var reg=/d+/img; "sssa1122s2s4".match(reg) // ["1122","2","4"]
                
  replace  查找符合正则的字符串,就替换成对应的字符串,返回替换后的内容。
                传入function(s,$1,$2..$99){}时,代表所有符合条件的选项,$1 ..$99
                我的理解就是()中的内容。。。。
       function trim(str){
           var re = /^s+|s+$/g;   
          return str.replace(re,"");
        }
        只能输入数字  var oTxt=docuemnt.querySelector("#txt");  
        oTxt.oninput=function(){
            oTxt.value=oTxt.value.replace(/D/g,"");
        }```
            
            var str="在匹配成功时,会将子表达式匹配到的内容,保存到内存中一个以数字编号的组里,可以简单的认为是对一个局部变量进行了赋值,这时就可以通过反向引用方式,引用这个局部变量的值。";
str.replace(reg,function(s){
    var tmp="";
    for(var i=0; i< s.length; i++){
        tmp+="*";
    }
    return tmp;
});

str.replace(reg,function(s){
   return s.replace(/./g,"*");
})```
                
      
            var str="apple babab";

            str=str.replace(/(w{1})(w+)?/gi,function(s,$1,$2){
                return $1.toUpperCase()+$2
            });```
"onclick onmouseover onmouseout".replace(/w+/g,function(sEv){
    oDiv[sEv]=function(){
       do something;
    };
});```
            
           function hasClass(obj,sClass){
                var reg=new RegExp(""+sClass+"");
                return reg.test(obj.className);
            }```
function getQueryObject(url) {
    url = url == null ? window.location.href : url;
    var search = url.substring(url.lastIndexOf("?") + 1);
    var obj = {};
    var reg = /([^?&=]+)=([^?&=]*)/g;
    search.replace(reg, function (rs, $1, $2) {
        var name = decodeURIComponent($1);
        var val = decodeURIComponent($2);               
        val = String(val);
        obj[name] = val;
        return rs;
    });
    return obj;
}```

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/83252.html

相关文章

  • 读《精通正则表达式》-- 网上 js 正则基础教程没有涉及的一些知识

    摘要:正则起源最近看完了精通正则表达式,收获颇丰,略过了一些晦涩难懂的理论部分,主要看了实战和教程部分。然后下面说一下以上两个基础教程里没说到的知识点。最后以上是我在精通正则表达式一书中得到的一些收获,希望能分享给大家,如有错误欢迎指正。 正则起源 最近看完了 《精通正则表达式》,收获颇丰,略过了一些晦涩难懂的理论部分,主要看了实战和教程部分。 下面引用一下百度百科里的内容。 正则表达式的鼻...

    GT 评论0 收藏0
  • JS基础入门篇(三十三)—正则表达式

    摘要:举例一使用这个正则,打印结果为使用这个正则,打印结果为举例二打印结果如下过滤标签你好美丽的上海想转化成你好,美丽的上海如果后面加,就会进入非贪婪模式。如果后面不加,就会进入贪婪模式,结果为上海。你好美丽的上海。 1.创建一个正则表达式 方法一:使用一个正则表达式字面量,其由包含在斜杠之间的模式组成。 var reg1 = /a/; var reg2 = /ab+c/; 方法二:调用Re...

    caspar 评论0 收藏0
  • JS基础入门篇(三十三)—正则表达式

    摘要:举例一使用这个正则,打印结果为使用这个正则,打印结果为举例二打印结果如下过滤标签你好美丽的上海想转化成你好,美丽的上海如果后面加,就会进入非贪婪模式。如果后面不加,就会进入贪婪模式,结果为上海。你好美丽的上海。 1.创建一个正则表达式 方法一:使用一个正则表达式字面量,其由包含在斜杠之间的模式组成。 var reg1 = /a/; var reg2 = /ab+c/; 方法二:调用Re...

    hot_pot_Leo 评论0 收藏0
  • JS基础入门篇(三十三)—正则表达式

    摘要:举例一使用这个正则,打印结果为使用这个正则,打印结果为举例二打印结果如下过滤标签你好美丽的上海想转化成你好,美丽的上海如果后面加,就会进入非贪婪模式。如果后面不加,就会进入贪婪模式,结果为上海。你好美丽的上海。 1.创建一个正则表达式 方法一:使用一个正则表达式字面量,其由包含在斜杠之间的模式组成。 var reg1 = /a/; var reg2 = /ab+c/; 方法二:调用Re...

    y1chuan 评论0 收藏0
  • JS基础篇--正则表达式详解

    摘要:下面整理一些常用的正则表达式。正则表达式中可以使用编码。每个正则表达式可带有一个或者多个标注用以标明正则表达式的行为。其中表示匹配项在字符串中的位置,而表示应用字符串表达式的字符串。 正则表达式非常有用,查找、匹配、处理字符串、替换和转换字符串,输入输出等。下面整理一些常用的正则表达式。 常用的正则字符 正则字符 描述 :将下一个字符标记为一个特殊字符、或一个原义字符、或一个 向...

    shmily 评论0 收藏0
  • 【重温基础】9.正则表达式

    摘要:前置知识中的正则表达式是用来匹配字符串中指定字符组合的模式。另外需要记住正则表达式也是对象。在正则表达式创建时更新,不执行。替换与正则表达式匹配的子串。查找以十六进制数规定的字符。正则表达式拓展介绍在中有两种情况。 本文是 重温基础 系列文章的第九篇。 今日感受:时间管理-角色管理法。 系列目录: 【复习资料】ES6/ES7/ES8/ES9资料整理(个人整理) 【重温基础】1.语...

    ispring 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<