美文网首页
JS正则表达式

JS正则表达式

作者: db366da20578 | 来源:发表于2018-03-21 22:34 被阅读0次

    match:把所有匹配的东西,全部提取出来。
    i表示:ignore(忽略大小写)
    \d: 转义字符,匹配一个数字 = [0-9]
    \D:除了[0-9]以外 [^0-9]
    \w 英文,数字,下划线,包括[a-z0-9_]
    \W [^a-z0-9_]
    \s 空白字符
    \S ^空
    g: global(找到全部)
    +:量词,若干个,匹配一串数字(把分开的连在一起,空格可以隔开)

    var str="dsf 12 34 dsf23";
    var re=/\d+/g; // \d是匹配一个数字,+是匹配一串数字,g找到所有。
    alert(str.match(re)); //match()把所有匹配的东西全部提取出来
    //12,34,23
    
    replace:替换,配合正则使用

    html

    <textarea id="text1" rows="5" cols="30"></textarea><br />
    <input id="btn1" type="button" value="过滤"/><br />
    <textarea id="text2" rows="5" cols="30"></textarea><br />
    

    js

    window.onload=function(){
        var oTxt1=document.getElementById('text1');
        var oTxt2=document.getElementById('text2');
        var oBtn=document.getElementById('btn1');
        
        
        oBtn.onclick=function(){
            var re=/北京|上海|深圳/g;  //|代表或的意思
            oTxt2.value=oTxt1.value.replace(re,'***');  
            //如果没有写g,replace就只替换一个,而不是多个,这就是配合正则用的好处
        };
    };
    
    image.png

    任意字符:[abc]
    例:o[usb]t-----obt、ost、out
    .(点)---任意字符(转义字符)

    //把html替换成空
    window.onload=function(){
        var oTxt1=document.getElementById('text1');
        var oTxt2=document.getElementById('text2');
        var oBtn=document.getElementById('btn1');
        
        
        oBtn.onclick=function(){
            var re=/<[^<>]+>/g;  //除了<>外的任意字符
            oTxt2.value=oTxt1.value.replace(re,'');
        };
    };
    
    image.png
    {n}   正好出现n次
    例:18059006453
    [1-9]\d{10}  //第一位是从1-9,{10}表示后面还有10位数
    
    {n,m} 最少n次,最多m次
    例:QQ号,最少4位,最多10位
    [1-9]\d{4,10}
    
    {n,} 最少n次,最多不限
    
    +  {n,}  最少出现一次,最多不限
    
    ? 最少0次,最多1次(可有可无),?号写在后面
    010-87089891-23917   //010是区号,23917分机号
    (0\d{2,3}-)?[1-9]\d{7}(-\d{1,5})?    //?前面的可有可无
    
    * 任意次数{0,},基本不用
    ^非的意思和行首(字符串开头)
    $ 行尾(字符串结尾)
    

    re.test():这个方法是检验是否符合正则的规则,这个方法说的是字符串一部分符合要求返回的就是true。
    ^ 行首(字符串开头)
    $ 行尾(字符串结尾)

    效验邮箱
    邮箱:<input id="text1" type="text"><br>
    <input id="btn1" type="button" value="效验邮箱">
    
    window.onload=function(){
        var oEmail=document.getElementById('text1');
        var oBtn=document.getElementById('btn1');
        
        oBtn.onclick=function(){
            var re=/^\w+@[a-z0-9]+\.[a-z0-9]+$/i;
            if(re.test(oEmail.value)){
                alert("合法邮箱");
            }else{
                alert("您输入有误");
            }
        };
    };
    

    相关文章

      网友评论

          本文标题:JS正则表达式

          本文链接:https://www.haomeiwen.com/subject/smonqftx.html