2

私はこの RexExp コードを使用していますvar userIdPattern = new RegExp('^([A-z0-9_.]{4,15})$');。最後の文字がドット ( .) であるかどうかを確認してから、次のように.test()返しますfalse

var userIdPattern = new RegExp('^([A-z0-9_.]{4,15})$');
console.log(userIdPattern.test('Omid.my.')); // -> I need this to be false

この場合、私を返しますtrue

userIdPattern.test('Omid.my'); //-> true
4

2 に答える 2

5

更新後、より適切な正規表現は次のようになります。

var userIdPattern = new RegExp('^([A-Za-z0-9\[\]\\^`][A-z0-9_.]{2,13}[A-Za-z0-9\[\]\\^`])$');

つまり、彼のコメントで言及されている 7stud のようなユーザー名に他の特殊文字を含め、最初と最後の文字から.andのみを除外する場合です。_

それ以外の場合、これらの文字を防ぐために、次のことをお勧めします。

var userIdPattern = new RegExp('^([A-Za-z0-9][A-Za-z0-9_.]{2,13}[A-Za-z0-9])$');

テストするフィドル。

于 2013-08-11T12:49:43.483 に答える
4

こんな風に作れます

^([A-z0-9_.]{3,14}[A-z0-9])$

コメントを読んだ後に編集する

^[a-z0-9][a-z0-9_.]{2,13}[a-z0-9]$

プレビュー

また、フラグを使用しiて大文字と小文字を区別することをお勧めします。

var userIdPattern = new RegExp('^[a-z0-9][a-z0-9_.]{3,13}[a-z0-9]$', 'i');
于 2013-08-11T12:42:58.800 に答える