Поле ввода телефона [18/28]

набросал паттерн для ввода телефонного номера
условие
в начале может код страны с + или без
далее может быть код сотоворого оператора или код города в скобках или без
затем идут секции с цифрами номера телефона . Секции могут быть разделены пробелами, дефисами или не разделены вовсе , секций может быть от одной до 3, с негораниченным кол-вом цифр
например:

84962720573
+7(49627) 2-05-73
+7(49627) 20573
20573
2-05-73
+7(49627) 02
+7(49627)02-053
7(49627)02-053

invalid +7(49627) 222-22-223432-22

pattern="\+?\d*\(?\d+\)?(?:[-\s]*\d+){1,3}|\+?\d+"

какие варианты для улучшения?

И еще вопрос, какой диалект языка используется в паттернах? JS скорей всего?