我的要求是我的文本框不应该接受脚本标签(即 < 和 >)。当我第一次打开页面时,我的文本框不允许脚本标签(即 < 和 >)。
一段时间后,它只允许字母数字字符。当我刷新页面时,它工作正常。任何人都可以帮助这个。我怎样才能得到这个解决方案?或者有什么简单的方法。
我的代码:
<input name="headerTextBoxs" id="headerTextBox" size="55" type="text" onKeypress="return keyRestricted(event)", onKeydown="return keyRestricted(event)" value="" />
<script type="text/javascript">
function keyRestricted(evt) {
var theEvent = evt || window.event;
var key = theEvent.keyCode || theEvent.which;
var keychar = String.fromCharCode(key);
//alert(keychar);
var keycheck = /[a-zA-Z0-9]/;
if ( (key == 60 || key == 62)) // not allowing script tags
{
if (!keycheck.test(keychar)) {
theEvent.returnValue =false ; //for IE
if (theEvent.preventDefault) theEvent.preventDefault(); //Firefox
}
}
}
</script>
另一种方式:
我的要求是相同的,不允许脚本标签(即<和>)。这里的问题是它在 Mozilla Firefox 中运行良好。但在 google cromo 和 IE 浏览器中,我的文本框不允许反向文本(即左箭头 (<-))。只是我这样写。
我的代码:
<input name="headerTextBoxs" id="headerTextBox" size="55" type="text" onkeyup = "this.value=this.value.replace(/[<>]/g,'');" />