package com.javarush.task.task22.task2212; /* Проверка номера телефона */ import java.util.regex.Pattern; public class Solution { public static boolean checkTelNumber(String telNumber) { String regex1 = "^\\+\\D*(\\d\\D*){12}$"; // если номер начинается с '+', то он содержит 12 цифр String regex2= "^\\(\\d{3}\\)\\d{7}$|^\\d\\(\\d{3}\\)\\d{6}$";//может содержать 1 пару скобок '(' и ')' 4) скобки (если они есть) внутри содержат четко 3 цифры String regex3 = "^(\\+)?\\d*(\\(\\d{3}\\))?\\d*$"; String regex5 = "^[\\d+()]*$"; // Проверка, что строка содержит только допустимые символы String regex6 = "^.*\\d$"; // Номер должен заканчиваться на цифру if ((Pattern.matches(regex1, telNumber)||Pattern.matches(regex2, telNumber)) && Pattern.matches(regex3, telNumber) && Pattern.matches(regex5, telNumber) && Pattern.matches(regex6, telNumber)) { return true; } return false; } public static void main(String[] args) { System.out.println("+380501234567" + checkTelNumber("+380501234567")); System.out.println("+38(050)1234567"+ checkTelNumber("+38(050)1234567")); System.out.println("(050)1234567" + checkTelNumber("(050)1234567")); System.out.println("0(501)234567" + checkTelNumber("0(501)234567")); System.out.println("+38)050(1234567" + checkTelNumber("+38)050(1234567")); System.out.println("+38(050)123-45-67 " + checkTelNumber("+38(050)123-45-67 ")); System.out.println("050ххх4567" + checkTelNumber("050ххх4567")); System.out.println("050123456" + checkTelNumber("050123456")); System.out.println("(0)501234567" + checkTelNumber("(0)501234567")); } }