怎样限制文本框中不能输入HTML标签
3个回答
推荐于2016-04-17 · 知道合伙人互联网行家
freezing866
知道合伙人互联网行家
向TA提问 私信TA
知道合伙人互联网行家
采纳数:145
获赞数:1032
六年网站开发经验,开发过的网站超过百个。擅长B2B、B2C、营销型网站开发。公司网址:www.wangyingshi.com
向TA提问 私信TA
关注
展开全部
要限制文本框输入HTML标签,可以通过js的replace方法来过滤标签,原理是通过正则表达式匹配到左尖括号和右尖括号然后替换成空格。这样我们输入的HTML标签就给人为去掉了,提交后也不会对服务器造成不良的影响。
<input value="<b>test</b><script>alert(1)</script>" onchange="setContent(this.value)" />
<script>
function setContent(str) {
str = str.replace(/<\/?[^>]*>/g,''); //去除HTML tag
str.value = str.replace(/[ | ]*\n/g,'\n'); //去除行尾空白
alert(str);
return str;
}
</script>
2018-07-30 · 百度知道合伙人官方认证企业
育知同创教育
1【专注:Python+人工智能|Java大数据|HTML5培训】 2【免费提供名师直播课堂、公开课及视频教程】 3【地址:北京市昌平区三旗百汇物美大卖场2层,微信公众号:yuzhitc】
向TA提问
关注
展开全部
要限制文本框输入HTML标签,可以通过js的replace方法来过滤标签,原理是通过正则表达式匹配到左尖括号和右尖括号然后替换成空格。这样我们输入的HTML标签就给人为去掉了,提交后也不会对服务器造成不良的影响。
<input value="<b>test</b><script>alert(1)</script>" onchange="setContent(this.value)" />
<script>
function setContent(str) {
str = str.replace(/<\/?[^>]*>/g,''); //去除HTML tag
str.value = str.replace(/[ | ]*\n/g,'\n'); //去除行尾空白
alert(str);
return str;
}
</script>
<input value="<b>test</b><script>alert(1)</script>" onchange="setContent(this.value)" />
<script>
function setContent(str) {
str = str.replace(/<\/?[^>]*>/g,''); //去除HTML tag
str.value = str.replace(/[ | ]*\n/g,'\n'); //去除行尾空白
alert(str);
return str;
}
</script>
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
可以用正则处理这个东西,不过html标签还是有点多,这样写出来的正则可能比较麻烦,而且想替换这种不定长的字符数据,动态验证一般不是很好搞,你可以写好正则后,在你输入完成之后再进行替换处理,不过建议你要处理这种最好是使用一种在线编辑器,那个东西一般可以直接获取文本内容
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询