-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]*$

これは、0 個以上の英数字の後に少なくとも 1 文字の文字が続き、その後に 0 個以上の英数字が続くものと一致します。

したがって、それは許可aaし、0r

99および英数字以外の文字を含むシーケンスは許可されません。

あなたの質問は、英数字のみが許可されていると言っています。あなたの例はaaと言います。許可されるべきです。その場合は、次を使用します。

^[A-Za-z0-9.]*[A-Za-z]+[A-Za-z0-9.]*$

.aaaa.などの文字を少なくとも 1 つ使用できます。

このようにチェックしてください:

numcheck.test(inputString);

、および一致する、または一致しないなどのinputString入力はどこにありますかa23we.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 に答える