我有一个文本框,它不需要允许用户输入任何特殊字符。他可以输入:
- A-Z
- a-z
- 0-9
- 空间。
还有一个条件是第一个字母应该是字母。 如何在每次按键时进行 JavaScript 验证?
最佳答案
添加一个 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.
}
}
或者,要仅检查按下的键,您可以从事件中获取键码,如下所示:
onKeyUp="javascript:checkChar(event);"
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
}
}
错过了有关第一个字符的部分,但您可以像第一个示例一样对文本框值进行测试:
/^[A-Za-z]/.test(curVal)
或者甚至使用第二种方法,但也传递文本框,这样您就可以获得它的完整值。
关于asp.net - javascript 中带有字母数字检查的文本框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/950208/