Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 07.03.2014, 15:23
Новичок на форуме
Отправить личное сообщение для Бестолковый Посмотреть профиль Найти все сообщения от Бестолковый
 
Регистрация: 07.03.2014
Сообщений: 3

И опять валидация формы...
Доброго времени суток, Уважаемые!

Прошу помощи.

Есть html форма, к ней прикручен JS-валидатор.
Проверка идёт по каждой строке отдельно (Имя, фамилия, ...).

Всё бы ничего, но решил прикрутить к этой форме проверку номера телефона.

Для чего добавил в скрипт вот это:
//validate 3//
function isValidPhone ( str ) {
if (str == "") {
alert("Укажите телефон в формате (ХХХ)ХХХ-ХХ-ХХ");
return false;
}
else if (str.indexOf (/^\(\d{3}\)\d{3}-\d{2}-\d{2}$/.test(str))) {
alert("Телефон не соответствует формату");
return false;
}
return true;
}


Как итог - пустое поле скрипт видит и выводит ошибку, а формат номера не признаёт вообще никакой, хотя изначально он задумывался как "(123)456-78-90" (((

Заранее благодарен за помощь!
Ответить с цитированием
  #2 (permalink)  
Старый 07.03.2014, 15:35
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,126

Бестолковый,
проверять можно каждый символ -- если не тот прекращать проверку вернуть что было правильного
Ответить с цитированием
  #3 (permalink)  
Старый 07.03.2014, 16:30
Новичок на форуме
Отправить личное сообщение для Бестолковый Посмотреть профиль Найти все сообщения от Бестолковый
 
Регистрация: 07.03.2014
Сообщений: 3

рони,
хотелось бы понять что именно не так в приведенном коде.
А то, что методом перебора владеть не смею уверен я
Ответить с цитированием
  #4 (permalink)  
Старый 07.03.2014, 16:37
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,126

Сообщение от Бестолковый
хотелось бы понять что именно не так в приведенном коде.
подумайте что возвращает
indexOf и нафига оно у вас.
Ответить с цитированием
  #5 (permalink)  
Старый 07.03.2014, 16:41
что-то знаю
Отправить личное сообщение для devote Посмотреть профиль Найти все сообщения от devote
 
Регистрация: 24.05.2009
Сообщений: 5,176

а зачем вообще тут нужен str.indexOf???
без него не?
else if (!/^\(\d{3}\)\d{3}-\d{2}-\d{2}$/.test(str)) {
__________________
хм Russians say завтра but завтра doesn't mean "tomorrow" it just means "not today."
HTML5 history API рассширение для браузеров не поддерживающих pushState, replaceState
QSA CSS3 Selector Engine
Ответить с цитированием
  #6 (permalink)  
Старый 07.03.2014, 16:41
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,126

Бестолковый,
function isValidPhone ( str ) {
if (str == "") {
alert("Укажите телефон в формате (ХХХ)ХХХ-ХХ-ХХ");
return false;
}
else if (!/^\(\d{3}\)\d{3}-\d{2}-\d{2}$/.test(str)) {
alert("Телефон не соответствует формату");
return false;
}
return true;
}
alert(isValidPhone ( "(123)456-78-90" ))
Ответить с цитированием
  #7 (permalink)  
Старый 07.03.2014, 18:19
Профессор
Отправить личное сообщение для kostyanet Посмотреть профиль Найти все сообщения от kostyanet
 
Регистрация: 23.10.2010
Сообщений: 2,718

Помнится была такая толковая традиция автоматически переносить фокус на следующее поле после заполнения предыдущего. Кто хоть раз ставил сам ПО и вводил серийники - тот о ней помнит. Но не Бестолковый. Всю заботу о правильном формате номера он возлагает на ибанента. Который понятия может не иметь какой у него номер в федеральном формате. Ну и пусть идет лесом, пральна же? Нафиг нам такие клиенты, ну тупыее.
Ответить с цитированием
  #8 (permalink)  
Старый 07.03.2014, 18:34
Профессор
Отправить личное сообщение для kostyanet Посмотреть профиль Найти все сообщения от kostyanet
 
Регистрация: 23.10.2010
Сообщений: 2,718

Цитата:
Укажите телефон в формате (ХХХ)ХХХ-ХХ-ХХ
Просто потрясающее ЧСВ.

Единственное объяснение - никто через эту форму сроду не заказывал и не будет подавно.

Иначе бы такого программиста заказчик давно бы послал на пенсию.

В общем ничего не стоит так дешево и не обходится так дорого, как тупизна.
Ответить с цитированием
  #9 (permalink)  
Старый 07.03.2014, 18:48
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,126

kostyanet,
раскажите пожалуйста вы сразу осознали себя программистом или у вас были игрушки?
Ответить с цитированием
  #10 (permalink)  
Старый 07.03.2014, 18:57
Профессор
Отправить личное сообщение для kostyanet Посмотреть профиль Найти все сообщения от kostyanet
 
Регистрация: 23.10.2010
Сообщений: 2,718

рони, только в условиях когда заказчику положить на предмет занятий нанятого программиста, программист может самовыражаться до посинения. Иначе его очень быстро построят или выведут из строя.

Чем занимается автор темы и что вы очевидно поддерживаете называется простым и понятным всякому словом бюрократизм. Типа у нас тоже все как у больших.

Как будто мля оператору нипошарам, а если нипошарам то программисту как два пальца отформатировать 10 цифр как оператору по шарам. Но нет, форматировать должен клиент. А мы, ну мы же как большие - только проверять будем. Ростелефонформатнадзор мля.

Большинство покупок совершается импульсивно. Мегамоллы на этом все стоят. Чем легче купить - тем больше покупают. Чем больше препятствий на пути к сделке - тем меньше сделок.

Так что не надо про игрушки. Тут все наоборот.

ЗЫ я тоже покупатель, в смысле пытался стать покупателем в рунете и как большинство обломился. В том числе из-за национального бюрократизма. Сами себе гадим в рот.

Последний раз редактировалось kostyanet, 07.03.2014 в 19:07.
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Валидация формы vierhein jQuery 0 28.02.2014 16:40
Валидация формы в зависимости от значения radio batton housewm Events/DOM/Window 1 10.01.2014 18:46
Грамотная валидация формы seniormelikyan Элементы интерфейса 7 03.08.2013 02:37
Валидация формы Ваяс Элементы интерфейса 8 11.07.2012 15:20
Валидация формы dmsuslov jQuery 4 05.11.2010 16:12