使用Javascript检查HTML
我有一个文本框在我的网站上,我想防止任何形式的html输入。显然,我已经在服务器端阻止了它,但出于多种原因,我也想使用javascript阻止它。我在谷歌上快速搜索了一下,看看是否有现成的功能可用,但我找不到 有人知道怎么做吗 编辑:如果问题不清楚,很抱歉。我基本上希望在用户在文本框中键入html,然后尝试提交表单时显示一个错误。服务器已经被编程为拒绝来自文本框的HTML输入,但我还想在客户端阻止它。HTML使用Javascript检查HTML,javascript,asp.net,Javascript,Asp.net,我有一个文本框在我的网站上,我想防止任何形式的html输入。显然,我已经在服务器端阻止了它,但出于多种原因,我也想使用javascript阻止它。我在谷歌上快速搜索了一下,看看是否有现成的功能可用,但我找不到 有人知道怎么做吗 编辑:如果问题不清楚,很抱歉。我基本上希望在用户在文本框中键入html,然后尝试提交表单时显示一个错误。服务器已经被编程为拒绝来自文本框的HTML输入,但我还想在客户端阻止它。HTML <textarea id='noHTML'></textarea&g
<textarea id='noHTML'></textarea>
JS
var ta=document.getElementById('noHTML');
ta.onkeyup=功能(e){
var val=该值;
//交替regexp//g
//用所有html标记填充上述正则表达式
如果(val.match(//g)){
//警报(“无html”);
//不需要警报?您可以替换所有html表达式
//所有实体的备用语法
//this.value=val.replace(/&/g,“&;”)。replace(/>/g,”)。replace(你不想让用户键入??)你是否考虑过BuffkCARS像“代码> <代码> > /代码>?我不理解这个问题?你是在试图禁用一个输入吗?还是在试图阻止HTML标记?”In Calkk:可能理解了这个问题!!你用JavaScript阻止的任何东西都可以很容易地被解开。但是我不知道。明白了,如果标签存在,我们是不是在试图阻止post?为什么我们不能用它们的HTML实体替换特殊字符。别误会,如果你想阻止用户发帖,这将是一个很好的解决方案,但你可以做一些事情,比如更改所有需要的字符。@IanClark我检查了这个问题,并在选项中添加了n通过注释块。只是想将选项留给questionaireThanks人,我使用了您提供的正则表达式来检测HTML并显示警告。干杯:)。太好了,很高兴我能提供一些帮助。因为这是您使用的,我将缩小我的答案以反映这一点
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, '>');
}
}