2017-10-26 7 views
-3

Javaを使用して電話番号を検証しようとしています。文字列が正しい長さ(10桁)であることを確認する方法を教えてください。do/whileでJavaの電話番号をどのように検証しますか?

do{ 
    System.out.println("Please provide the phone number starting with area code: "); 
    this.phone = input.nextLine(); 
} while (!phone.matches("[0-9]")); 
+1

正規表現を使用する場合は、なぜですか?while(!\ d {10} ");' – dave

+0

https://docs.oracle.com/javase/tutorial/essential /regex/quant.html – Tom

+1

@daveは正しくありますが、 '\ d'は間違っています。 '\\ d'にする必要があります。 – Tom

答えて

0

正確に10桁に一致する正規表現を変更する必要があります。

do{ 
    System.out.println("Please provide the phone number starting with area code: "); 
    this.phone = input.nextLine(); 
}while (!phone.matches("[0-9]{10}")); 

1つのこと:このタイプの検証が良好かどうかはわかりません。ユーザーが電話番号に先頭にプラス記号などを入力するとどうなりますか?セパレータとしてのホワイトスペース?

関連する問題