老师,我这样写是不是也可以?会不会有什么缺点

来源:2-14 正则表达式测试工具--JS

weixin_慕移动6442865

2019-09-07 17:16:21

<body>

    <div id='box'>

        <h1>正则测试工具</h1>

        <textarea  class='top-box' placeholder='在此输入文本内容' id='top-box'></textarea ><br>

        正则表达式:<input type="text" class='ze' placeholder="在此输入正则表达式" id='ze'> 

        <input type="checkbox" value='i' name='checkbox' class='chbox'>忽略大小写

        <input type="checkbox" value='g' name='checkbox' class='chbox'>全局匹配

        <input type="checkbox" value='m' name='checkbox' class='chbox'>多行匹配

        <button class='btn' id='btn'>测试匹配</button><br>

        匹配结果: <br>

        <textarea type="text" id='down-box' class='down-box' disabled></textarea>

    </div>

    <script>

        var topbox=document.getElementById('top-box')

        var ze=document.getElementById('ze')

        var downbox=document.getElementById('down-box')

        var btn=document.getElementById('btn')

        var chbox=document.getElementsByClassName('chbox')

        var c='';

        for(var i=0;i<chbox.length;i++){

            cbox(i)

        }

        function cbox(i){

            chbox[i].onclick=function(){

             console.log( c= chbox[i].value) 

            }

        }


        btn.onclick=function(){

            var a = topbox.value

            var b=new RegExp(ze.value,c)

            console.log(b)

            if(b.test(a)==true){

                downbox.innerHTML=b.exec(a)

                }else{

                downbox.innerHTML='未匹配到'   

                }   

        }

    </script>

</body>


写回答

3回答

好帮手慕言

2019-09-07

同学你好,是不完善的哦。

可以做以下修改:
http://img.mukewang.com/climg/5d73901000014eee06760384.jpg

http://img.mukewang.com/climg/5d7390c60001ff5405450307.jpg

如果帮助到了你,欢迎采纳~祝学习愉快~

1
heixin_慕移动6442865
h 按照老师的改了下可以了,请问老师这里的C=''是什么意思? function cbox(i){ chbox[i].onclick=function(){ c=''; for(var i=0;i<chbox.length;i++){ if(chbox[i].checked){ c+=chbox[i].value } } } }
h019-09-08
共5条回复

好帮手慕码

2019-09-08

同学你好!

推荐同学使用“妹妹的姐姐”老师修改的方式,简单易懂:

(1)match() 方法可在字符串内检索指定的值,或找到一个或多个正则表达式的匹配。

(2)代码中声明一个空的C变量。相当于一个空的容器,将每次的chbox[i].value的值都存在这个容器里。

(3)相同的功能可供多地使用的话,建议封装起来。

如果帮助到了你,欢迎采纳,祝学习愉快~

0
heixin_慕移动6442865
h 谢谢老师~~~~~
h019-09-08
共1条回复

weixin_慕移动6442865

提问者

2019-09-07

 <style>

    *{margin:10px 0px;padding:0;}

    #box{width: 700px;margin:0px auto;}

    .top-box,.down-box{width: 700px;height: 150px;resize:none;}

    h1{text-align: center;}

    .ze{width: 200px;padding:5px;}

    .btn{width: 100px;;}

    .chbox{margin:0px 6px;}

    </style>


0

0 学习 · 14456 问题

查看课程