Здравствуйте. Подскажите пожалуйста функцию для проверки номера телефона, и функцию которая бы недопускала ввод букв, только цифр(и + -). В js мало разбираюсь поэтому прошу помощи на форуме.
сама функция: Code: function phone(element){ while(element.value.match(/[^0-9_]/)){ element.value = element.value.replace(/[^0-9]/, ''); } return true; } Использование: Code: <input type="text" name="body" id="body" onkeyup="phone(this);" onkeypress="phone(this)" onpaste="phone(this);" value=""> тут можно увидеть работу этой функции: antichat-sms.ru
пиар ? а какую пользу мне приносит сервис ? может ты ещё скажешь, что он напичкан фреймами, рекламой ? или я рублю миллионы с нулевой благотворительности? я кинул сайт для того, чтобы можно было наглядно посмотреть, как это работает. На сайт заходить не обязательно, код , как видишь, выложил отдельно. Для таких наркоманов как ты, подправил верхний пост.
Deathdreams спасибо, функция работает ок. И сайт твой отличный, смс дошла А можешь ты подсказать функцию, которая бы еще проверяла минимальное количество символом?
PHP: <input type="text" oninput="if(this.value.length<10){alert('Длинна введённого телефона меньше 10');}" name="body" id="body" onkeyup="phone(this);" onkeypress="phone(this)" onpaste="phone(this);" value="">
Code: var min = 6; //минимальное значение input = document.getElementById('ТУТ_ID_ПОЛЯ').value; if( input.lenght < min ) alert('Минимальное количество знаков - '+min); ТУТ_ID_ПОЛЯ заменить на нужный
А если отключить выполнение сценариев, то никакие проверки не прокатят.. может быть лучше на php это реализовать с регулярками?
спасибо, только повесил на onblur, ибо после каждого нажатия выводит сообщение) а на php пока нет смысла, на данный момент этого достаточно
дабы не плодить темы, хочу задать еще один вопрос: можно ли посредством javascript преобразовать строку вида 79131234567 в такой шаблон +7 913 1234567, и если да, то как?
Code: <script type="text/javascript"> function formatPhone(phonenum) { var regexObj = /^(?:\+?1[-. ]?)?(?:\(?([0-9]{3})\)?[-. ]?)?([0-9]{3})[-. ]?([0-9]{4})$/; if (regexObj.test(phonenum)) { var parts = phonenum.match(regexObj); var phone = ""; if (parts[1]) { phone += "+7 (" + parts[1] + ") "; } phone += parts[2] + "-" + parts[3]; return phone; } else { return phonenum; } } alert(formatPhone('9131234567')); </script>
почему если Я делаю вот так onchange="formatPhone(this.value);" то функция не работает, просто при загрузки страницы появляется всплывающее окно +7 (913) 123-4567
PHP: <html> <form name="form1" method="post" action=""> <input name="num" type="text" id="num"> <input type="submit" name="Submit" value="Подтвердить"> </form> </html> <?php $num=$_POST['num']; if(preg_match('/\+[0-9]/',$num)) { echo "good"; }else{ echo "bad"; } ?>
PHP: <script type="text/javascript"> function formatPhone(phonenum) { var regexObj = /^(?:\+?1[-. ]?)?(?:\(?([0-9]{3})\)?[-. ]?)?([0-9]{3})[-. ]?([0-9]{4})$/; if (regexObj.test(phonenum)) { var parts = phonenum.match(regexObj); var phone = ""; if (parts[1]) { phone += "+7 (" + parts[1] + ") "; } phone += parts[2] + "-" + parts[3]; return phone; } else { return phonenum; } } ///вызов функции просто закомментируем его //alert(formatPhone('9131234567')); //и вуаля </script> и тут попробуем вот так onchange="alert(formatPhone(this.value));"