Всем привет, в интернетах нашел форму заказа звонка с уведомлением в телегу, все работает кроме корректной валидации при вводе номера телефона, подскажите что подправить в коде java script, чтобы при вводе в поле input номер приводился к маске +375 (29) 999 99 99, а +375 ставилось автоматом при нажатии на input. Пока при вводе такая маска получается 375 299 999 999 Что в этом коде подправить: Код (Javascript): document.getElementById("callme").addEventListener("mouseover", hovertxt); document.getElementById("callme").addEventListener("mouseout", hovertxt); document.getElementById("callme").addEventListener("click", window_call); document.getElementById("window_close").addEventListener("click", window_call); function hovertxt(){var x = document.getElementById("telhover");if (x.className === "telButton_hover") {x.className += " open";} else {x.className = "telButton_hover";}} function window_call(){ var x = document.getElementById("window-callme");if (x.className === "window_wrap") {x.className += " open";} else {x.className = "window_wrap";} var x = document.getElementById("callme");if (x.className === "telButton anim") {x.className += " hide";} else {x.className = "telButton anim";}} var cc = backPhone.telForm, events = ['input', 'change', 'blur', 'keyup']; for (var i in events) { cc.addEventListener(events[i], formatCardCode, false);} function formatCardCode() { var cardCode = this.value.replace(/[^\d]/g, '').substring(0,12); cardCode = cardCode !== '' ? cardCode.match(/.{1,3}/g).join(' ') : ''; this.value = cardCode; } window.addEventListener("load", function () { function sendData() { if (window.XMLHttpRequest) { XHR = new XMLHttpRequest(); } else if (window.ActiveXObject) { XHR = new ActiveXObject("Microsoft.XMLHTTP"); } var FD = new FormData(form); XHR.addEventListener("load", function(event) { return_response_ok(event.target.responseText); }); XHR.addEventListener("error", function(event) { return_response_err('Произошла ошибка. Попробуйте позже'); }); XHR.open("POST", location.protocol + "//" + location.host + "/callback.php"); XHR.send(FD); } function return_response_ok(e){ e=JSON.parse(e); if(e.status == 'success'){ document.getElementById("notify").innerHTML = e.message; document.getElementById("frmm").className += " hide"; setTimeout(window_call, 3000); }else if(e.status == 'error'){ document.getElementById("notify").innerHTML = e.message; } } function return_response_err(e){ document.getElementById("notify").innerHTML = e; } var form = document.getElementById("backPhone"); form.addEventListener("submit", function (event) { event.preventDefault(); sendData(); }); }); Обработчик callback.php: PHP: define('TELEGRAM_TOKEN', '*************'); define('TELEGRAM_CHATID', '*******'); function message_to_telegram($text) { $ch = curl_init(); curl_setopt_array( $ch, array( CURLOPT_URL => 'https://api.telegram.org/bot' . TELEGRAM_TOKEN . '/sendMessage', CURLOPT_POST => TRUE, CURLOPT_RETURNTRANSFER => TRUE, CURLOPT_TIMEOUT => 10, CURLOPT_POSTFIELDS => array( 'chat_id' => TELEGRAM_CHATID, 'text' => $text, 'parse_mode' => 'html', ), ) ); curl_exec($ch); } if(isset($_POST['phone'])){ $phone = str_replace(" ","",$_POST['phone']); $httpReferer = isset($_SERVER['HTTP_REFERER']) ? $_SERVER['HTTP_REFERER'] : null; if (strlen($phone) >=11){ if (substr( $phone, 0, 1 )=== "8" || substr( $phone, 0, 3 )=== "375" ) { $message = "<i>Перезвоните мне:</i>\n\n<b>$phone</b>\n\nКлиент оставил завку на сайте:\n$httpReferer"; message_to_telegram($message); $response['status'] = 'success'; $response['message'] = "Спасибо за Ваше обращение.<br> В течение нескольких минут с Вами свяжется наш менеджер."; }else{ $response['status'] = 'error'; $response['message'] = "<span style='color:yellow'>Возможно, Вы не верно ввели номер телефона.<br> Номера телефонов Беларуси должны начинаться с кодом 8 или 375<br>Проверьте и повторите попытку<br>Пример: 8 (029) 999 99 99 либо +375 (29) 999 99 99</span>"; } }else{ $response['status'] = 'error'; $response['message'] = "<span style='color:yellow'>Возможно, Вы не верно ввели номер телефона.<br>Проверьте и повторите попытку.<br>*Подсказка:Номер должен содержать в себе не менее 11 знаков(с кодом области, города или оператора).<br>Пример: 8 029 999 99 99</span>"; } header('Content-type: application/json'); echo json_encode($response);} Сама форма ввода номера: HTML: <form id="backPhone" name="backPhone" method="post"> <input name="phone" type="tel" id="telForm" maxlength="20" placeholder="Введите ваш телефон" required="required" autocomplete="off"> <button id="telButton" type="submit" form="backPhone">Заказать звонок</button> </form>