入门正则表达式(二)

前端之家收集整理的这篇文章主要介绍了入门正则表达式(二)前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。


<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[\w\W]+<\/script>/gi;
    vo.value = vo.value.replace(patt,'');
}

function t4() {
    var vo = document.getElementsByName('str')[0];
    var patt = /<script[\w\W]+?<\/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 />
           我们可以用[\w\W],[\d\D],[\s\S],这几个组合来代替"所有字符"<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[\w\W]+?<\/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 = /^[\w\u4E00-\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>

猜你在找的正则表达式相关文章