设计一个javascript代码:可以控制输入框不让输入特殊字符(恶意代码字符),输入就提示错误,重新输入!

对不起,我没有说清楚我要说的是外部引用的javascript程序!

<input type="text" onpropertychange="javascript:if(/[\+\-\*\\]/.test(this.value)){alert('错误,重新输入!');this.value='';}">
这个可以过滤+ - * \ 这四个特殊符号,如果你还有其它的,可以自己填加到[]中,如果是正则的保留字,用\转义.
如果只是数字,英文和汉字,还可以有别的办法.追问

外部引用的呢?

追答



1.js
function chktxt(){
var o;
if(document.all) o=window.event.srcElement;
else o=event.target;
if(/[\+\-\*\\]/.test(o.value)){alert('错误,重新输入!');o.value='';}
}

var os=document.getElementsByTagName('INPUT');
for(var i=0;i<os.length;i++){
if(os[i].type.toLowerCase()=='text'){
if(document.all){
os[i].attachEvent('onpropertychange', chktxt);
}
}
}

由于FireFox等浏览器不支持onpropertychange事件,所以这些不支持的浏览器需要另外写代码实现.

追问

如果是多行的输入框呢?

追答

var os2=document.getElementsByTagName('TEXTAREA');
for(i=0;i<os2.length;i++){
if(document.all){
os2[i].attachEvent('onpropertychange', chktxt);
}
}

加在1.js的最后

温馨提示:内容为网友见解,仅供参考
无其他回答
相似回答