只能是数字、字母、-和_

在文本框的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();
        }
    }
}

posted @ 2011-04-23 09:47  Alec-Yin  阅读(246)  评论(0编辑  收藏  举报
更多前端博客,访问:http://lhyin.com