• ,

level22.lesson13.task03

Все топики прочёл, но решения как-то не обнаружил.
Не проходит проверку сервера, хотя вывод вроде как верный на всех примерах:
public class Solution {

    public static boolean checkTelNumber(String telNumber) {
        String mask = telNumber;

        if (mask.matches("-.*|.*-.*") && !mask.matches(".*-{2}.*")){
            mask = mask.replaceFirst("-", "");
        }
        if (mask.matches(".*-.*")){
            mask = mask.replaceFirst("-", "");
        }
        if (mask.matches(".*\\(\\d{3}\\)\\d*")){
            mask = mask.replace("(", "");
            mask = mask.replace(")", "");
        }

        if (mask.matches("^\\+\\d{12}|\\d{10}"))
            return true;
        else return false;
    }

    public static void main(String[] args){
        System.out.println(checkTelNumber("+380501234567")); // Вывод true
        System.out.println(checkTelNumber("+38(050)1234567")); // Вывод true
        System.out.println(checkTelNumber("8521367985")); // Вывод true
        System.out.println(checkTelNumber("(852)1367985")); // Вывод true
        System.out.println(checkTelNumber("+38050123-45-67")); // Вывод true
        System.out.println(checkTelNumber("050123-4567")); // Вывод true
        System.out.println(checkTelNumber("+38)050(1234567")); // Вывод false
        System.out.println(checkTelNumber("+38(050)1-23-45-6-7")); // Вывод false
        System.out.println(checkTelNumber("050ххх4567")); // Вывод false
        System.out.println(checkTelNumber("050123456")); // Вывод false
        System.out.println(checkTelNumber("1-23456789-0")); // Вывод true
    }
}