加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

入门正则表达式(二)

发布时间:2020-12-14 02:18:09 所属栏目:百科 来源:网络整理
导读:script type="text/javascript"function t1() { var vo = document.getElementsByName('str')[0]; var patt = /hi/i; alert(patt.test(vo.value));}function t2() { var vo = document.getElementsByName('str')[0]; var patt = /script.+/script/gi; vo.va


<script type="text/javascript">

function t1() {
    var vo = document.getElementsByName('str')[0];
    var patt = /hi/i;
    alert(patt.test(vo.value));
}

function t2() {
    var vo = document.getElementsByName('str')[0];
    var patt = /<script.+</script>/gi;
    vo.value = vo.value.replace(patt,'');
}


function t3() {
    var vo = document.getElementsByName('str')[0];
    // var patt = /<script.+</script>/sgi; //js不支持s单行模式
    var patt = /<script[wW]+</script>/gi;
    vo.value = vo.value.replace(patt,'');
}

function t4() {
    var vo = document.getElementsByName('str')[0];
    var patt = /<script[wW]+?</script>/gi;
    vo.value = vo.value.replace(patt,'');
}

function t5() {
    var vo = document.getElementsByName('str')[0];
    var patt = /^[a-z]+/gm;
    alert(vo.value.match(patt));
}

</script>

<style type="text/css">
</style>
</head>
    <body>
        <h2>模式</h2>
        <p>
           模式不是正则表达式的一部分,但是能够影响正则式的作用效果.<br />
           i,ignore,忽略(大小写)<br />
           默认情况:无论是匹配,还是替换,都是检查/替换掉1次就结束.<br />
           用全局模式,来替换所有匹配的字符串.<br />
           全局模式: g<br />
           s:代表单行模式,把整个字符串当成一行来看待<br />
           <font color="red">js目前不支持单行模式</font><br />
           在js的正则使用中,想解决.跨行的问题. <br />
           1:单行模式不能用.<br />
           2: [.n]也不能代表"所有字符"<br />
           我们可以用[wW],[dD],[sS],这几个组合来代替"所有字符"<br />
           <b>正则默认是尽量"多找"匹配的内容,称为贪婪模式<br /></b>
           在个数修饰符加"?",可以改为"非贪婪模式"<br />

           多行模式,m<br />
           正常情况,字符串从头到尾,当成一个整串来看.<br />
           ^代表字符开头,$代表整个字符的结尾 <br />
           把每一行,看成一个独立的字符串


        </p>
        <textarea name="str" /></textarea><br />
        <input type="submit" value="匹配hi字符" onclick="t1();" /><br />
        <input type="submit" value="去除单行script代码" onclick="t2();" /><br />
        <input type="submit" value="去除多行script代码" onclick="t3();" /><br />
        <input type="submit" value="去除多行script代码,但不影响其他html标签" onclick="t4();" /><br />
        <input type="submit" value="多行模式" onclick="t5();" /><br />
    </body>
</html>


<script type="text/javascript">
    function t1() {
        var vo = document.getElementsByName('str')[0];
        var patt = /^1[3458][0-9]{9}$/; // 1开头,跟着3|4|5|8,再来9位数字
        if(patt.test(vo.value)) {
            alert('是手机号');
        } else {
            alert('不是手机号');
        }
    }

    function t2() {
        var vo = document.getElementsByName('str')[0];
        var patt = /1[3458][0-9]{9}/g;
        alert(vo.value.match(patt))
    }

    function t3() {
        var vo = document.getElementsByName('str')[0];
        var patt = /^[a-z0-9][a-z0-9_]*(.[a-z0-9]+)*@[a-z0-9][a-z0-9-]*(.[a-z0-9][a-z0-9-]*)+$/i;
        if(patt.test(vo.value)) {
            alert('是email');
        } else {
            alert('不是email');
        }
    }
</script>

<style type="text/css">
</style>
</head>
    <body>
        <h2>综合练习</h2>
        <p>
           
        </p>
        <textarea name="str" /></textarea><br />
        <input type="submit" value="验证手机号" onclick="t1();" /><br />
        <input type="submit" value="采集文章中的手机号" onclick="t2();" /><br />
        <input type="submit" value="验证email" onclick="t3();" /><br />
    </body>
</html>

<script type="text/javascript">
    function t1() {
        var vo = document.getElementsByName('str')[0];
        var patt = /<script[wW]+?</script>/ig;
        vo.value = vo.value.replace(patt,'');
    }

    function t2() {
        var vo = document.getElementsByName('str')[0];
        var patt = /<a href=".*"[^>]*>/ig;
        vo.value = vo.value.replace(patt,'<a href="#">');
    }
</script>

<style type="text/css">
</style>
</head>
    <body>
        <h2>综合练习</h2>
        <p>
           
        </p>
        <textarea name="str" /></textarea><br />
        <input type="submit" value="去js代码" onclick="t1();" /><br />
        <input type="submit" value="替换链接为#" onclick="t2();" /><br />
    </body>
</html>

<script type="text/javascript">
    function t1() {
        var bo = document.getElementsByName("str")[0];
        var tagg= /(w)1+/g;
        bo.value=bo.value.replace(tagg,'$1');
    }
</script>

<style type="text/css">
</style>
</head>
    <body>
        <h2>综合练习</h2>
        <p> 
        </p>
        <textarea name="str" /></textarea><br />
        <input type="submit" value="去重复字符aaabb->>ab" onclick="t1();" /><br />
    </body>
</html>

<script type="text/javascript">
    function t1() {
        var vo = document.getElementsByName('str')[0];
        var patt = /[u4E00-u9FA5]/g;
        vo.value = vo.value.replace(patt,'');
    }

    function t2() {
        var vo = document.getElementsByName('str')[0];
        var patt = /^[wu4E00-u9FA5]{4,}$/;
        if(patt.test(vo.value)) {
            alert('用户名合法');
        } else {
            alert('用户名非法');
        }
    }

</script>

<style type="text/css">
</style>
</head>
    <body>
        <h2>验证中文</h2>
        <p>
           
        </p>
        <textarea name="str" /></textarea><br />
        <input type="submit" value="把中文替换掉" onclick="t1();" /><br />
        <input type="submit" value="检验用户名是字母下划线中文的组合" onclick="t2();" />
    </body>
</html>

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读