2012-04-18 51 views
0

私は以下の要件の正規表現を試しています。異なるパターンの4つの文字を受け入れる正規表現

  1. 合計の文字列の長さは3つのまたは4
  2. 最初の2つの文字が
  3. AZまたはAZから最後の2つの文字でなければなりません、私は以下試してみました0-9

からでなければなりませんしかし、私はこれが良い方法ではないことを知っています

 var str = /^[a-zA-Z]{1,2} + [0-9]{2} + $/, 

私を助けてください。

+0

あなたの質問から;最初の2文字と最後の2文字= 4文字。したがって、文字列の長さは常に4になります。 – Joberror

+0

@joberror正規表現から、最初の2文字はオプションです(1つでも2つでもかまいません)。 –

+0

'+'も一致させたいのですか? –

答えて

4
var str = /^([a-z]{1,2}|[A-Z]{1,2})[0-9]{2}$/; 

次に、あなたはそれをテストとして:

str.test("aa3"); // false, 2 integers are required 
str.test("a34"); // true 
str.test("aA33"); // false, 2 first characters have to be in the same case 

あなたはそれらの文字は、同じ例も上記の正規表現を使用したい場合は、あなたが本当に

var str = /^[a-zA-Z]{1,2}[0-9]{2}$/; 
そうでない場合は、 First two characters must be from a-z or A-Zによって何を意味するかわかりません
+0

両方の文字が同じ場合になければならないという要求はどこにありますか? –

+0

@TimPietzcker誰かが実際にそれを指摘した(彼のコメントを削除した)が、「最初の2文字はa-zまたはA-Zでなければならない」から取る。 –

+0

私は考えていない、全体の仕様は非常に曇っている。 –

関連する問題