Проверка данных из формы. На цифры и буквы.
Привет всем,
подскажите пожалуйста, как сделать проверку вводимых данных из формы на только цифры в поле телефон и на только буквы в поле имя Вот функция проверяющая на пустоту в поле: function chkfields (form) { var reg = /^(([^<>()[\]\\.,;:\s@\"]+(\.[^<>()[\]\\.,;:\s@\"]+)*)|(\".+\"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/; var r = /^[0-9]+$/; if (document.forms[form].elements[\'name\'].value == \'\') { document.forms[form].elements[\'name\'].focus(); alert (\'Введите Имя!\'); return false; } else if (document.forms[form].elements[\'phone\'].value == \'\') { document.forms[form].elements[\'phone\'].focus(); alert (\'Введите телефон!\'); return false; }else document.call.submit(); } а куда и как еще проверить на цифры и буквы? |
<form action="javascript:"> <input placeholder="Имя" type="text" pattern="[а-яА-ЯёЁ]{2,64}" required title="Разрешены только буквы кириллицы" /> <input placeholder="Телефон" type="tel" pattern="[0-9]{5,12}" required title="Разрешены только цифры" /> <button type="submit">Отправить</button> </form> |
Это супер функционал ) обязательно его себе установлю на форму, но это же, как я понимаю, только проверка для человека который заполняет форму - т.е. форма все равно отправится с неправильными данными.
|
Форма не отправится пока пользователь не введен корректные данные. А иначе в чем тогда смысл?
Другое дело, что это не поддерживается в старых браузерах. Но есть плагины, исправляющее это. |
danik.js Ваш вариант очень хорош, но он использует, я так понял action, а у меня в action вставлена обработчик php.
<form method="post" name="call" action="/actions/form-diz/"> <table> <tr> <td align=right><b>Представьтесь: </b></td> <td><input type="text" name="name" value="" class="inpt" pattern="[а-яА-ЯёЁ]+" required title="Разрешены только буквы кириллицы"></td> </tr> <tr> <td colspan=2><br /></td></tr> <tr> <td align=right><b>Телефон: </b></td> <td><input type="text" name="phone" value="" class="inpt" pattern="\\+?[0-9]+" required title="Разрешены только цифры"></td> </tr> <tr> <td colspan=2><br /></td></tr> </table> <b>Ваше сообщение:</b><br /><br /> <textarea name="comment" cols=50 class="txtarea"></textarea> <br /><br /> <input type="hidden" name="action" value="send"> <div style="margin-left: 311px; padding-right: 15px; padding-top: 5px;"> <input type="button" value="Заказать" id="button_send" onclick="chkfields(\'call\');return false;"> </div> </form> А как проверку сделать в этой функции, которая уже проверяет при onclick на Заказать на пустые поля Имя и Телефона. Подскажите пожалуйста, как настроить еще и проверку на цифры и буквы? function chkfields (form) { var reg = /^(([^<>()[\]\\.,;:\s@\"]+(\.[^<>()[\]\\.,;:\s@\"]+)*)|(\".+\"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/; var r = /^[0-9]+$/; if (document.forms[form].elements[\'name\'].value == \'\') { document.forms[form].elements[\'name\'].focus(); alert (\'Введите Имя!\'); return false; } else if (document.forms[form].elements[\'phone\'].value == \'\') { document.forms[form].elements[\'phone\'].focus(); alert (\'Введите телефон!\'); return false; }else document.call.submit(); } |
Цитата:
|
danik.js Ясно. Все получилось! +100500 к Вашей карме! Спасибо большое!
|
скажите а сообщение об ошибке только в таком виде возможно ? на русском это как то можно сделать ?
|
taktak, если ты про вид сообщений браузера то только такой, иначе всё вручную. А вот язык зависит от языка собсна браузера, у меня сё на русском.
|
Часовой пояс GMT +3, время: 20:09. |