-1

我陷入了一个问题......这是我的代码,它限制特殊字符,但我想要一个限制特殊字符、数字但允许字母数字值的逻辑......例如:

  • 有效:a1,4r,aa。
  • 无效: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)"/>
4

3 回答 3

0

SO本身的字母数字验证:

var reg_password1 = 'tes123';
var letters = /^[a-zA-Z0-9]+$/;

var result = letters.test(reg_password1);

alert(result);

看到这个问题

小提琴不是我

于 2013-01-31T09:06:59.703 回答
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.]*$

它允许.与至少一个字母一起使用,例如.aaaa。

像这样检查它:

numcheck.test(inputString);

哪里inputString是输入 like a23,哪些是匹配的,we哪些是不匹配的.aa12k@

numcheck/[A-Za-z0-9.]*[A-Za-z]+[A-Za-z0-9.]*/

于 2013-01-31T09:12:23.547 回答
0

我相信这会满足您的需求。

[a-zA-Z0-9]*[a-zA-Z]+[a-zA-Z0-9]*

这将仅限制诸如 12、13 等数字,现在将允许任何特殊字符,并且根据需要,将允许包含字母和数字的单词,例如 asd12、12asd12、12asd 等。

于 2013-01-31T09:14:16.150 回答