在文本框的keypress事件调用下面函数。
如 <input disabled="disabled" type="text" id='userNameToEdit' onkeypress="TextValidate()" />
如果在文本框中按下特殊字符键,则显示警告信息,或者输入框不接受非法输入。
function TextValidate()
{
var code;
var character;
var err_msg = "Text can not contain SPACES or any of these special characters other than underscore (_) and hyphen (-).";
if (document.all) //判断是否是IE浏览器
{
code = window.event.keyCode;
}
else
{
code = arguments.callee.caller.arguments[0].which;
}
var character = String.fromCharCode(code);
var txt=new RegExp("[ ,\\`,\\~,\\!,\\@,\#,\\$,\\%,\\^,\\+,\\*,\\&,\\\\,\\/,\\?,\\|,\\:,\\.,\\<,\\>,\\{,\\},\\(,\\),\\',\\;,\\=,\"]");
//特殊字符正则表达式(放到[]里,并用\\转义)
if (txt.test(character))
{
alert("用户名不能包括空格或以下字符:\n , ` ~ ! @ # $ % ^ + & * \\ / ? | : . < > {} () [] \" "); //去掉此句,当输入非法信息是没有任何反应
if (document.all)
{
window.event.returnValue = false;
}
else
{
arguments.callee.caller.arguments[0].preventDefault();
}
}
}