老师请帮忙看一下
来源: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>
2回答
好帮手慕糖
2020-03-12
同学你好,能够自己发现并解决问题,很棒哦,继续加油!
祝学习愉快~
慕田峪9451496
提问者
2020-03-12
老师我找到原因了,因为madifier初始值后有空格
相似问题