2016-06-13 6 views
2

私は自分の携帯電話用の正規表現をしようとしてきたが、私はそれが動作するように見えることはできません。ここで正規表現のチェック長

は私の正規表現のための条件である:

  • 09
  • 全体の長さで開始する必要があります。ここ9

は私の正規表現です。

[0]{1}[9]{1}[0-9]{7} 

有効モバイル番号091123456

無効携帯電話番号0991234567 || 09912345

+7

使用アンカ '^ 09 [0-9] {7} $' – anubhava

+0

用を使用するに読みやすくなり、正規表現を使用する必要がない場合より多くのリファレンス "[Javaの正規表現の電話番号](http://howtodoinjava.com/regex/java-regex-validate-international-phone-numbers/)" –

答えて

4

最も簡単な方法:

^09[0-9]{7}$ 

説明:

^09 => 09

[0-9] =>任意の文字で始まり0〜

9 { 7}正確に7回

$ =>最新のグループ([0- 9] {7})

1

matcher.find()の代わりにmatcher.contains()を使用すると、一致する部分文字列を検索する代わりに文字列全体と一致します。他の答えに示唆されているように、^$のアンカーを追加することもできます。

あなたはは本当に、おそらくそれだけで

string.startsWith("09") && string.length() == 9