Как с помощью регулярного выражения проверить на корректность телефон? Вы можете воспользоваться следующим регулярным выражением:

String regex = "^\\+?[0-9\\-\\s]*$";

С помощью этого регулярного выражения вы сможете проверить следующие номера телефонов:

  • Международные номера телефонов со знаком «+» в начале
  • Номера телефонов, разделённые дефисом
  • Номера телефонов, разделённые пробелами
  • Длина номера телефона при этом не ограничена

Исходный код

public class RegexPhone {

    public static void main(String[] args) {
        System.out.println(checkUrl("+380441110044")); // true
        System.out.println(checkUrl("380441110044")); // true
        System.out.println(checkUrl("103")); // true
        System.out.println(checkUrl("911")); // true
        System.out.println(checkUrl("+7 495 784-63-00")); // true
        System.out.println(checkUrl("+7_495_784-63-00")); // false
    }

    public static boolean checkUrl(String s) {
        String regex = "^\\+?[0-9\\-\\s]*$";
        return s != null && s.matches(regex);
    }
}

Как проверить телефон с помощью регулярного выражения