Asp.net 带有字母数字签入javascript的文本框
我有一个文本框,它不需要允许用户输入任何特殊字符。他可以进入:Asp.net 带有字母数字签入javascript的文本框,asp.net,javascript,Asp.net,Javascript,我有一个文本框,它不需要允许用户输入任何特殊字符。他可以进入: 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) ) { /
function checkChar(tBox) {
var curVal = tBox.value;
if ( /[^A-Za-z0-9 ]/.test(curVal) ) {
//do something because he fails input test.
}
}
a仅检查按下的按键,您可以从事件中获取按键代码,如下所示:
onKeyUp=“javascript:checkChar(事件);”
错过了关于第一个字符的部分,但您可以对textbox值进行测试,如第一个示例所示:
/^[A-Za-z]/.test(curVal)
或者甚至使用第二种方法,但也要传递文本框,以便获得其完整值。您应该在文本框的onkeydown事件处理程序中选中pressed key,如果它不符合条件,则从处理程序返回false。使用keyup无法阻止在文本框中实际输入字符。我不认为您应该检查每个按键,这可能会让用户非常恼火 当输入失去焦点或提交时,只需检查输入 为此,可以使用正则表达式并使用以下模式:
`/[a-z]{1}[a-z0-9]/i`
您还可以查看此函数将检查给定给它的字符串是否符合以下条件:
function checkvalue(value) {
return value.match( /[A-Za-z][A-Za-z0-9 ]*/ );
}
然后,您可以在onkeypress事件中使用它,传递当前值。现在我们有了HTML5,您甚至不需要使用JavaScript。您可以使用
模式
属性
<input type="text" pattern="[A-Za-z][A-Za-z0-9 ]*" title="Description of format" />
模式
属性应包含定义格式的。和标题
应包含格式的可读说明
然后在验证时,根据浏览器的不同,浏览器将以红色显示字段的轮廓和/或显示一条消息,说明您对格式的描述
本教程将更详细地介绍:。这可能是一个很好的验证,但topicstarter要求为其文本框启用输入掩码。
<input type="text" pattern="[A-Za-z][A-Za-z0-9 ]*" title="Description of format" />