带有字母数字的文本框检查javascript

Sau*_*ron 2 javascript asp.net

我有一个文本框,它不需要允许用户输入任何特殊字符.他可以输入:

  1. AZ
  2. AZ
  3. 0-9
  4. 空间.

还有一个条件是第一个字母应该是字母.如何在每个按键上进行JavaScript验证?

use*_*033 9

添加一个onKeyUp ="javascript:checkChar(this);" 到输入框.

function checkChar(tBox) {   

    var curVal = tBox.value;

    if ( /[^A-Za-z0-9 ]/.test(curVal) ) { 

        //do something because he fails input test.

    }

}
Run Code Online (Sandbox Code Playgroud)

只是为了检查按下的键,您可以从事件中获取键码,如下所示:

的onkeyup = "JavaScript的:checkChar(事件);"

function checkChar(e) {

    var key;


    if (e.keyCode) key = e.keyCode;
    else if (e.which) key = e.which;

    if (/[^A-Za-z0-9 ]/.test(String.fromCharCode(key))) {

        //fails test

    }

}
Run Code Online (Sandbox Code Playgroud)

错过了关于第一个字符的部分,但您可以像第一个示例中那样对文本框值进行测试:

/^[A-Za-z]/.test(curVal)
Run Code Online (Sandbox Code Playgroud)

甚至使用第二种方法,但也通过文本框,这样你就可以得到它的全部价值.