老师,我这样写是不是也可以?会不会有什么缺点
来源: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-08
同学你好!
推荐同学使用“妹妹的姐姐”老师修改的方式,简单易懂:
(1)match() 方法可在字符串内检索指定的值,或找到一个或多个正则表达式的匹配。
(2)代码中声明一个空的C变量。相当于一个空的容器,将每次的chbox[i].value的值都存在这个容器里。
(3)相同的功能可供多地使用的话,建议封装起来。
如果帮助到了你,欢迎采纳,祝学习愉快~
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>
相似问题