2017-05-05 14 views
2
  1. ユーザ名の唯一の数字は末尾にある必要があります。最後には0個以上あることがあります。正規表現を使用してuserNameを検証する

  2. ユーザー名の文字は、小文字と大文字にすることができます。

  3. ユーザ名は少なくとも2文字以上である必要があります。 2文字のユーザー名はアルファベットの文字のみを使用できます。

私はこれで試していますが、私は停止しています。 /\d+$\w+/gi

+1

可能性のある重複しました[ユーザー名を検証するための正規表現](http://stackoverflow.com/questions/12018245/regular-expression-to-validate-username) – Kzqai

+0

@KzqaiはOPの要件を満たしていません。 –

+0

経験から言えば、ユーザー名は使用せず、電子メールと表示名を使用してください(希望者は何でも構いません)。誰も別のサイトの別のユーザー名を維持しようとしません。 さらに、ユーザー名では、個々の検証の失敗を個別に報告する必要があります(ユーザー名が長すぎます、ユーザー名には資本が必要です。ちょうど "username invalid"は悪いUXです。何が無効にするのですか?それをスキップし、電子メールを使用します。 – Kzqai

答えて

3

/^[a-z]{2,}\d*$/iは次のとおりです。

^  : the begining 
[a-z] : a character (a to z), you can add as many allowed characters as you want 
{2,} : at least 2 of them 
\d* : 0 or more digits 
$  : the end 
i  : ignore case sensetivity (both lowercases and uppercases are allowed) 
+1

これはうまくいった! {2、}について学んだ –

+0

これは正しいとマークする必要があります。 –

2

ユーザー名は、文字と数字と長い分2文字を持つ

/^[a-zA-Z]{2,}\d*$/i 

テスト結果:の

UserNam9 = pass 
9username = fail 
Userna99 = pass 
usernameeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee = pass 
Us = pass 
U = fail 
+0

この正規表現は間違っていて、いくつかの問題があります。 まず、このようにして最初に数字を入力することもできます。 あなたがa-zA-Zを指定すると、それは役に立たなくなります。 a-zのみを使用すると意味があります。 さらに、この方法では2つの数字だけを受け入れます。 – quirimmo

+0

何ですか?あなたは '[a-zA-Z]'が間違っているのではなく、不要であることは間違いありません。しかしそれ以外の部分は正しいです... –

0
/^[A-z]{2,}[A-z0-9]{0,}$/ 
/^ // start of line 
[A-z]{2,} //alphabet characters 2 or more 
[A-z0-9]{0,} //numbers and alphabet 
$/ // end of line 
関連する問題