次のコードを使用して電話番号を検証しています。要件は、電話番号が10-25文字の長さである必要があり、ハイフン( - )、ピリオド(。)、カッコ()を含める必要があります。Javaでの電話番号の検証
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class ValidatePhoneNumber {
public static void main(String[] argv) {
String phoneNumber = "6058.8()6-05888,9994567";
System.out.println(phoneNumber.length());
//String sPhoneNumber = "605-88899991";
//String sPhoneNumber = "605-888999A";
String regex = "^[0-9.()-]{10,25}$";
Pattern pattern = Pattern.compile(regex);
Matcher matcher = pattern.matcher(phoneNumber);
if (matcher.matches()) {
System.out.println("Phone Number Valid");
} else {
System.out.println("Phone Number must be in the form XXX-XXXXXXX");
}
}
}
私は検証をチェックし、そのは正常に動作し、私は電話番号との間にも同様に空白ができるように空白文字「\ S」にもを追加します。しかし、正規表現で "\ s"を追加する間にエラーが発生しました。
"-----------)))))")有効な電話番号ですか?あなたの正規表現はそれを言うだろう;)私はより完全なアプローチで答えを追加しようとします。また、あなたはそれらの括弧をエスケープする必要があると思うし、あなたのキャラクタークラスの中に点があると思います。 – pcalcao
http://stackoverflow.com/questions/123559/a-comprehensive-regex-for-phone-number-validation – John
http://blog.stevenlevithan.com/archives/validate-phone-number – John