我遇到了问题......这是我的代码,它限制了特殊字符,但我想要一个限制特殊字符,数字但允许字母数字值的逻辑... 例如:
无效:w @,12,@!。
功能检查(e)
{
var keynum;
var keychar;
var numcheck;
if(window.event) // IE
{
keynum = event.keyCode;
}
else if(e.which) // netscape/Firefox/opera
{
keynum = e.which;
}
//condition for backspace(8) Key
if(keynum != 8)
{
keychar = String.fromCharCode(keynum);
numcheck = /[a-zA-Z0-9]*[a-zA-Z]+[a-zA-Z0-9]*/;
return numcheck.test(keychar);
}
else
{
return true;
}
}
User id : <input type="text" id="txtname" name="txtname" onkeypress="return check(event)"/>
答案 0 :(得分:0)
SO本身的字母数字验证:
var reg_password1 = 'tes123';
var letters = /^[a-zA-Z0-9]+$/;
var result = letters.test(reg_password1);
alert(result);
答案 1 :(得分:0)
我认为这是你需要的正则表达式:
^[A-Za-z0-9]*[A-Za-z]+[A-Za-z0-9]*$
它匹配零个或多个字母数字字符,后跟至少一个字母,后跟零个或多个字母数字字符。
因此它允许aa
和0r
并且不允许99
或包含非字母数字字符的序列。
您的问题是只允许使用字母数字字符。您的示例应该允许 aa。。如果是这样,请使用:
^[A-Za-z0-9.]*[A-Za-z]+[A-Za-z0-9.]*$
它允许.
以及至少一个字母,例如 .aa 和 aa。
检查如下:
numcheck.test(inputString);
其中inputString
是匹配的a23
,we
和.aa
,或者12
和k@
不匹配的输入< / p>
numcheck
是/[A-Za-z0-9.]*[A-Za-z]+[A-Za-z0-9.]*/
答案 2 :(得分:0)
我相信这会满足你的需要。
[a-zA-Z0-9]*[a-zA-Z]+[a-zA-Z0-9]*
这将仅限制12,13等数字,现在允许任何特殊字符,并根据需要,允许包含字母和数字的单词,如asd12,12asd12,12asd等。