На сайте есть регулярка на ввод номера телефона
echo' <div class="profile__input-row">
<input class="profile__input" type="text" id="User_PhoneNum" name="tel" value="'.$row_inf['t_numb'].'"/ required pattern=^\+?[\s\-\(\)0-9]{7,19}$ title="Enter the phone in the format +x(xxx)xx-xx-xx" >';
Но все равно можно вводить абсолютно любые цифры, в чем проблема?
Рискну предположить что проблема в том, что строку регулярного выражения следует взять в кавычки так как это атрибут html.
Дело в том, что наличие атрибута 'pattern' у input'а не запрещает ввод других символов, не подходящих под этот паттерн. Он срабатывает после нажатия кнопки типа Submit формы и в этом случае запускается проверка введенного значения на соответствие шаблону. Подробнее.
Если соответствия нет, то форма не отправится дальше. Кроме того, при потере фокуса с элемента ввода и нажатии обычных кнопок (type="button") валидация так же не сработает.
<form action="?" method="post">
<input type="text" name="phone" required="required" pattern="^\+?[\s\-\(\)0-9]{7,19}$"><br />
<input type="button" name="simple_button" value="Don't work"><br />
<input type="submit" name="submit" value="Work">
</form>
Если вы хотите динамически проверять вводимые символы, то необходимо использовать JavaScript на странице. Можно воспользоваться одной из готовых библиотек по заданию масок, например.
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости