Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 09.12.2014, 16:34
Новичок на форуме
Отправить личное сообщение для InkyThousand Посмотреть профиль Найти все сообщения от InkyThousand
 
Регистрация: 11.11.2014
Сообщений: 8

Проверка данных из формы. На цифры и буквы.
Привет всем,
подскажите пожалуйста, как сделать проверку вводимых данных из формы на только цифры в поле телефон и на только буквы в поле имя
Вот функция проверяющая на пустоту в поле:
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();
	     }


а куда и как еще проверить на цифры и буквы?
Ответить с цитированием
  #2 (permalink)  
Старый 09.12.2014, 17:34
Аватар для danik.js
Профессор
Отправить личное сообщение для danik.js Посмотреть профиль Найти все сообщения от danik.js
 
Регистрация: 11.09.2010
Сообщений: 8,804

<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, 09.12.2014 в 17:37.
Ответить с цитированием
  #3 (permalink)  
Старый 09.12.2014, 17:52
Новичок на форуме
Отправить личное сообщение для InkyThousand Посмотреть профиль Найти все сообщения от InkyThousand
 
Регистрация: 11.11.2014
Сообщений: 8

Это супер функционал ) обязательно его себе установлю на форму, но это же, как я понимаю, только проверка для человека который заполняет форму - т.е. форма все равно отправится с неправильными данными.
Ответить с цитированием
  #4 (permalink)  
Старый 09.12.2014, 18:24
Аватар для danik.js
Профессор
Отправить личное сообщение для danik.js Посмотреть профиль Найти все сообщения от danik.js
 
Регистрация: 11.09.2010
Сообщений: 8,804

Форма не отправится пока пользователь не введен корректные данные. А иначе в чем тогда смысл?

Другое дело, что это не поддерживается в старых браузерах. Но есть плагины, исправляющее это.
__________________
В личку только с интересными предложениями
Ответить с цитированием
  #5 (permalink)  
Старый 10.12.2014, 10:26
Новичок на форуме
Отправить личное сообщение для InkyThousand Посмотреть профиль Найти все сообщения от InkyThousand
 
Регистрация: 11.11.2014
Сообщений: 8

danik.js Ваш вариант очень хорош, но он использует, я так понял action, а у меня в action вставлена обработчик php.
<form method="post" name="call" action="/actions/form-diz/">
      <table>
          <tr>
            <td align=right><b>Представьтесь:&nbsp; </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>Телефон:&nbsp; </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();
	     }
Ответить с цитированием
  #6 (permalink)  
Старый 10.12.2014, 12:30
Аватар для danik.js
Профессор
Отправить личное сообщение для danik.js Посмотреть профиль Найти все сообщения от danik.js
 
Регистрация: 11.09.2010
Сообщений: 8,804

Сообщение от InkyThousand
он использует, я так понял action
Не причем тут action. Просто вместо <input type=button> должно быть <input type=submit> и тогда по клику форма будет сабмититься, но перед этим браузер инициирует проверку на валидность.
__________________
В личку только с интересными предложениями
Ответить с цитированием
  #7 (permalink)  
Старый 10.12.2014, 12:39
Новичок на форуме
Отправить личное сообщение для InkyThousand Посмотреть профиль Найти все сообщения от InkyThousand
 
Регистрация: 11.11.2014
Сообщений: 8

danik.js Ясно. Все получилось! +100500 к Вашей карме! Спасибо большое!
Ответить с цитированием
  #8 (permalink)  
Старый 20.03.2015, 17:30
Интересующийся
Отправить личное сообщение для taktak Посмотреть профиль Найти все сообщения от taktak
 
Регистрация: 05.12.2014
Сообщений: 27

скажите а сообщение об ошибке только в таком виде возможно ? на русском это как то можно сделать ?
Ответить с цитированием
  #9 (permalink)  
Старый 20.03.2015, 17:47
Аватар для Aetae
Тлен
Отправить личное сообщение для Aetae Посмотреть профиль Найти все сообщения от Aetae
 
Регистрация: 02.01.2010
Сообщений: 6,495

taktak, если ты про вид сообщений браузера то только такой, иначе всё вручную. А вот язык зависит от языка собсна браузера, у меня сё на русском.
__________________
29375, 35
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
проверка формы не работает в ie begelme Javascript под браузер 6 13.08.2013 01:00
Фоновая проверка данных формы перед отправкой egreek AJAX и COMET 6 20.07.2013 11:17
Проверка данных формы составным условием? myafa Элементы интерфейса 8 01.04.2011 08:30
проверка ввода данных формы mugoleg Общие вопросы Javascript 3 27.02.2011 14:34
Проверка и отправка данных из формы Катерина Общие вопросы Javascript 2 25.03.2010 16:56