2017-05-11 16 views
0

私はJavaで正規表現を書こうとしています。私は{9,12}の数字に限定された電話番号の正規表現を作成したい。数字の間には空白と1文字のスラッシュを使用することは可能ですが、空白やスラッシュは、例えば制限正規表現のJava、数字の制限、無制限の空白、唯一の文字

にカウントされません。

  1. 12345678 - 偽(のみ8桁)
  2. 123456789 - 真( 9桁)
  3. 123456789012 - True(12桁)
  4. 1234 567 89 012 - True(12桁および空白)|
  5. 123456789- 偽(限界を超え13桁)
  6. 456分の123 782 321 - 真(12桁、1つの文字スラッシュ、及び空白)
  7. 123456 // 787 78 - 偽(11桁、ダブルチャーためスラッシュ)

空白文字とスラッシュ文字を制限しないでください。

ありがとうございました!数字の間

+0

一つは '[0-9] {9,12}'であろう最も簡単。しかし、それは検証のためには十分ではないでしょう。なぜなら、国コードによると、最初の数桁には制限があり、そのような数字は000000000であるからです。 – Rahul

答えて

0

それは空白と1文字のスラッシュを使用することは可能ですが、空白やスラッシュは、アカウントwhitespacesslashを考慮せずに正規表現マッチを以下のこの仕様を考慮して上限に

はカウントされません。

正規表現:^(?:[\/\s]?[0-9]){9,12}$

Regex Demo

+0

ありがとうございます!もう一つ質問があります:最初と最後にスラッシュを1つだけ入れることは可能ですか?たとえば、 /123456789123または123456789123 /の場合、スラッシュはfalseを返します。たとえば、次のようになります。// 123456789012または123456789012 // – firstontheworld

+0

スラッシュを1つカウントする必要がありますか? – Rahul

+0

はい、しかし制限はありません{9,12}、indepent :) – firstontheworld

関連する問題