[英]Checking For HTML Using Javascript
我的网站上有一个文本框,我希望阻止任何形式的HTML输入。 我显然已经在服务器端阻止了它,但我也想用多种原因阻止它使用javascript。 我做了一个快速谷歌搜索,看看是否有一些现成的功能可用,但我找不到任何。
有谁知道如何做到这一点?
编辑:对不起,如果问题不明确。 当用户在文本框中键入html然后尝试提交表单时,我基本上想要显示错误。 服务器已被编程为拒绝来自文本框的HTML输入,但我也想在客户端阻止它。
HTML
<textarea id='noHTML'></textarea>
JS
var ta = document.getElementById('noHTML');
ta.onkeyup = function (e) {
var val = this.value;
// alternate regexp /<\/*(p|div|span)\s*.*>/g
// fill the above regex with all html tags
if(val.match(/<\/*[^<>]\s*.*>/g)) {
// alert('no html');
// don't want an alert ? you can replace all html expressions
// alternate syntax for all entities
// this.value = val.replace(/&/g, "&").replace(/>/g, ">").replace(/</g, "<").replace(/"/g, """);
// its long and slow but the choice is yours
this.value = val.replace(/</g, '<').replace(/>/g, '>');
}
}
你可以在jsfiddle测试和玩它;
它是解决您问题的轻松解决方案。 我的建议是在表单提交期间替换实体,或者如果您根本不需要它,则可以在输入时提醒用户。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.