使用Javascript检查HTML

时间:2013-07-26 21:07:27

标签: javascript asp.net

我的网站上有一个文本框,我希望阻止任何形式的html输入。我显然已经在服务器端阻止了它,但我也想用多种原因阻止它使用javascript。我做了一个快速谷歌搜索,看看是否有一些现成的功能可用,但我找不到。

有谁知道怎么做?

编辑:对不起,如果问题不明确。当用户在文本框中键入html然后尝试提交表单时,我基本上想要显示错误。服务器已被编程为拒绝来自文本框的HTML输入,但我也想在客户端阻止它。

1 个答案:

答案 0 :(得分:2)

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, "&amp;").replace(/>/g, "&gt;").replace(/</g, "&lt;").replace(/"/g, "&quot;");
  // its long and slow but the choice is yours
  this.value = val.replace(/</g, '&lt;').replace(/>/g, '&gt;');  
 }

}

您可以在jsfiddle;

进行测试和播放

它可以解决您的问题。我的建议是在表单提交期间替换实体,或者如果您根本不需要它,您可以在输入时提醒用户。