Java
電話番号
入力チェック

電話番号の入力チェック

です。

5桁の市外局番があったり、4桁-3桁-3桁の電話番号があったりなど、
電話番号の入力チェックを自前で本気でやろうとすると面倒ですよね。

ライブラリに任せてしまいましょう。

pom.xml
<!-- https://mvnrepository.com/artifact/com.googlecode.libphonenumber/libphonenumber -->
<dependency>
    <groupId>com.googlecode.libphonenumber</groupId>
    <artifactId>libphonenumber</artifactId>
    <version>8.8.5</version>
</dependency>
final PhoneNumberUtil PHONE_NUMBER_UTIL = PhoneNumberUtil.getInstance();

String tel = "045-1230-4567";//true
//String tel = "04505-2-4567";//true
//String tel = "0454-130-467";//true
//String tel = "0454-130-499967";//false
//第2引数はtel変数がどこの国の電話番号であるかを指定。com.google.i18n.phonenumbers.CountryCodeToRegionCodeMapに書いてあるものを選ぶ。
PhoneNumber phoneNumber = PHONE_NUMBER_UTIL.parse(tel, "JP");
boolean result= PHONE_NUMBER_UTIL.isValidNumber(phoneNumber);
System.out.println(result);