流箫 的 Blog

兴趣是最好的老师! ----Interest is the best teacher.
  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

JS控制非法字符的输入

Posted on 2009-12-04 11:12  给时光以生命18  阅读(2346)  评论(0编辑  收藏  举报

html文件代码如下:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
        <title>JS控制非法字符的输入</title>
    </head>
    <body>
        <form>
            <p>这里不允许输入如下字符:(像!@#$%^&*等)<br>
                <textarea rows="2" cols="20" name="comments" onkeypress="checkComments()"></textarea>
            </p>
            <p>这里不允许输入引号:<br>
                <input type="text" name="txtEmail" onkeypress="checkEmail()"/>
            </p>
            <p>这里只能输入数字:<br>
                <input type="text" name="txtPostalCode" onkeypress="checkPostalCode()"/>
            </p>
            <p>这里只能输入大写英文:<br>
                <input type="text" name="txtEnglish" onkeypress="checkEnglish()"/>
            </p>
        </form>
    </body>
</html>
 
js文件代码如下:
 
<script type="text/javascript" language="JavaScript">
    /*
     * 特殊字符在ASCII码中所表示的范围为32~48,57~65,90~97
     * event.returnValue=false;设置键盘输入主false,则不能在文本框中输入内容
     */
    function checkComments(){
        if (( event.keyCode > 32 && event.keyCode < 48) ||
            ( event.keyCode > 57 && event.keyCode < 65) ||
            ( event.keyCode > 90 && event.keyCode < 97)
           ) {
                event.returnValue = false;
           }
    }
    /*
     * 引号的ASCII码为34和39
     */
    function checkEmail(){
        if ( event.keyCode == 34 || event.keyCode == 39 ) {
            event.returnValue = false;
        }
    }
    /*
     * 数字的ASCII表示范围为 45~57
     */
    function checkPostalCode() {
        if( event.keyCode < 45 || event.keyCode >57 ) {
            event.returnValue = false;
        }
    }
    /*
     * 大写英文字母ASCII表示范围为65~91
     * 小写英文字母ASCII表示范围为97~123
     */
    function checkEnglish() {
        if( event.keyCode < 65 || event.keyCode > 91 ) {
            event.returnValue = false;
        }
    }
</script>