老师请帮忙看一下

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

慕田峪9451496

2020-03-12 19:15:39

<!DOCTYPE html>

<html lang="en">

<head>

    <meta charset="UTF-8">

    <meta name="viewport" content="width=device-width, initial-scale=1.0">

    <title>Document</title>

    <style>

        .Regexp{

            width: 640px;

            height: 450px;

            margin: 0 auto;

        }

        #inputText,#outputText{

            width: 630px;

            height: 180px;

            resize: none;

        }

        .title{

            text-align: center;

        }

    </style>

</head>

<body>

    <div class="Regexp">

        <h4 class="title">正则表达式测试工具</h1>

        <textarea id="inputText" cols="30" rows="10" placeholder="请输入待匹配字段" ></textarea><br>

        正则表达式:<input type="text" id="regArea" placeholder="请输入需要匹配字段">

        忽略大小写<input type="checkbox"  value="i" class="inputCheck">

        全局匹配:<input type="checkbox" value="g" class="inputCheck">

        多行匹配:<input type="checkbox" value="m" class="inputCheck">

        <input type="button" value="测试匹配" id="test"><br>

        匹配结果:</br>

        <textarea id="outputText" cols="30" rows="10"></textarea>

    </div>     

    <script>

        var inputText = document.getElementById("inputText"),

            regArea = document.getElementById("regArea"),

            inputCheck = document.getElementsByClassName("inputCheck"),

            test = document.getElementById("test"),

            outputText = document.getElementById("outputText");

        var patten,

            madifier=" ";

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

            inputCheck[i].onclick = function(){

                madifier=" ";

                for(var j = 0;j < inputCheck.length;j++){

                    if(inputCheck[j].checked){

                        madifier+=inputCheck[j].value;

                    }

                }

            }

        }

        

        test.onclick = function(){

            // 添加madifier就报错了

            patten = new RegExp(regArea.value, madifier);

            outputText.innerHTML= patten.exec(regArea.value);

        }

    </script>             

</body>

</html>

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

写回答

2回答

好帮手慕糖

2020-03-12

同学你好,能够自己发现并解决问题,很棒哦,继续加油!

祝学习愉快~

0

慕田峪9451496

提问者

2020-03-12

老师我找到原因了,因为madifier初始值后有空格

0

0 学习 · 14456 问题

查看课程