2011-10-18 13 views
0

正規表現を使用して、文字列に現在2つの正規表現のリストを使用して入力文字列を2回チェックする9または12桁(ただし10または11ではなく)これは単純化できますか?Javascript正規表現:文字列の9または12桁

var regexes = [/^[0-9]{9}$/, /^[0-9]{12}$/] 
for (var i = 0; i < regexes.length; ++i) { 
     if (regexes[i].test(input)) 
      return true; 
} 
return false; 

答えて

5

あなたは、このように正規表現を使用することができます。

/^[0-9]{9}([0-9]{3})?$/ 

だから、おそらく3つの以上の数字が続く9桁の数字、。

ただし、2つの可能性を確認するのに間違いはありません。

+0

+1は遅すぎました:) – FailedDev

+0

ます。また、数字の略 '\のD 'を使用することができます。 – pimvdb

+0

2つの可能性をチェックするとパフォーマンスに影響すると思いますか? – Patrick

2
/^\d{9}(\d{3})?$/ 

これは動作するはずです:D

2
var regex = /^[0-9]{9}$|^[0-9]{12}$/; 
if (input.match(regex)!= null) 
    return true; 
関連する問題