Тестировал с разными значениями из точнее скопировал код для теста из комментарии все работает но валидатор не принимает я что-то упустил?
package com.javarush.task.task22.task2212;
/*
Проверка номера телефона
*/
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class Solution {
public static boolean checkTelNumber(String telNumber) {
if(telNumber == null) return false;
return telNumber.matches("^\\+\\d{12}|\\d{0,8}(\\(\\d{3}\\))\\d{1,8}|\\d{10}|^\\+\\d{0,8}(\\(\\d{3}\\))\\d{1,8}");
}
public static void main(String[] args) {
System.out.println(checkTelNumber("050(012)3123"));
//
System.out.println(checkTelNumber("+1(234)56789012"));
System.out.println(checkTelNumber("1234567890"));
System.out.println(checkTelNumber("(234)5678890")); //true
System.out.println(checkTelNumber("1(234)567890")); //true
System.out.println(checkTelNumber("12(345)67890")); //true
System.out.println(checkTelNumber("123(456)7890")); //true
System.out.println(checkTelNumber("1234(567)890")); //true
System.out.println(checkTelNumber("12345(678)90")); //true
System.out.println(checkTelNumber("123456(789)0"));
System.out.println(checkTelNumber("+38)050(1234567")); //false
System.out.println(checkTelNumber("+38(050)123-45-67")); //false
System.out.println(checkTelNumber("050ххх4567")); //false
System.out.println(checkTelNumber("050123456")); //false
System.out.println(checkTelNumber("(0)501234567"));
System.out.println(checkTelNumber("+(123)456789012")); //true
System.out.println(checkTelNumber("+1(234)56789012")); //true
System.out.println(checkTelNumber("+12(345)6789012")); //true
System.out.println(checkTelNumber("+123(456)789012")); //true
System.out.println(checkTelNumber("+1234(567)89012")); //true
System.out.println(checkTelNumber("+12345(678)9012")); //true
System.out.println(checkTelNumber("+123456(789)012")); //true
System.out.println(checkTelNumber("+1234567(890)12")); //true
System.out.println(checkTelNumber("+12345678(901)2")); //true
}
}