По моему опыту, скобки появляются только вокруг первой группы цифр, и в группе никогда не бывает меньше 3 цифр. Это регулярное выражение делает это, и предотвращает множественные последовательные разделители, за исключением пробела после скобки "(123) 456-7890". Я также добавил поддержку периодов в качестве разделителей. Он допускает 1, 2 или 3 группы номеров и пытается ввести общий диапазон из 7-15 цифр, но допускает ошибки на разрешающей стороне.
^\\s*(\\d{7,15})||(\\d{3,12}[\\-.]?\\s?\\d{3,12}[\\-.\\s]?)||([(]?\\d{3,9}[)\\-.]?\\s?\\d{3,9}[\\-.\\s]?\\d{3,9})\\s*
В моем окружении я должен избежать обратной косой черты - вам может не понадобиться, поэтому вам, возможно, придется заменить \ на. Дефис должен быть экранирован, потому что в этом контексте он представляет диапазон.