Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 04.11.2010, 01:49
Новичок на форуме
Отправить личное сообщение для Александр-IV Посмотреть профиль Найти все сообщения от Александр-IV
 
Регистрация: 31.10.2010
Сообщений: 5

Определение пустого поля
Написал следующую программку :
alert(( (/([^(A-z)&&(А-я)])/ || prompt.length<1 ).test(prompt('Введите Ваше имя',''))) ? 'Ошибка' : 'Принято')
Вопрос, как именно в этой форме(без дальнейшего разбиения на блоки) поставить грамотно условие на определение незаполненного поля?


Вместо моего-неработающего варианта( prompt.length<1 ) - это я просто экспериментировал.
Ответить с цитированием
  #2 (permalink)  
Старый 04.11.2010, 02:19
Аватар для Gvozd
Матрос
Отправить личное сообщение для Gvozd Посмотреть профиль Найти все сообщения от Gvozd
 
Регистрация: 04.04.2008
Сообщений: 6,246

отсыпьте что курите
что это за бессмысленный набор символов?
Ответить с цитированием
  #3 (permalink)  
Старый 04.11.2010, 08:31
Аватар для Tim
Tim Tim вне форума
Профессор
Отправить личное сообщение для Tim Посмотреть профиль Найти все сообщения от Tim
 
Регистрация: 05.06.2009
Сообщений: 1,703

/([^(A-z)&&(А-я)])/ || prompt.length<1 - это получается регулярное выражение?

|| prompt.length<1 - убрать и забыть, это к RegExp вообще ни как не относится

([^(A-z)&&(А-я)]) - это конечно тоже полная ерунда. Вообще, чтобы показать, что всей этой ерунды должно быть не менее одного символа используйте квантификатор "+", т.е. /([^(A-z)&&(А-я)])+/

(A-z) - вы думаете это все буковки от A до Z. А вот и неть. Во первых: какого тут разный регистр? Вроде так не делается. (A-Za-z) или (A-Z) или (a-z) - что то из этого должно быть мне кажется. Но это не важно, внутри символьного класса это всё равно не сработает.

[^] - исключающий символьный класс. Ему подоёдёт любой символ не стоящий внутри этого класса.
__________________
Лучше установить FreeBSD, чем потратить 30 лет на Linux'ы и выяснить какой из них хуже.
Самые главные в жизни вещи - не вещи! (было написано на одном гараже =)

Последний раз редактировалось Tim, 04.11.2010 в 08:34.
Ответить с цитированием
  #4 (permalink)  
Старый 04.11.2010, 08:44
Профессор
Отправить личное сообщение для exec Посмотреть профиль Найти все сообщения от exec
 
Регистрация: 21.01.2010
Сообщений: 1,022

alert( (prompt("Введите значение") ? "" : "не") + " принято" );
Ответить с цитированием
  #5 (permalink)  
Старый 04.11.2010, 12:17
Новичок на форуме
Отправить личное сообщение для Александр-IV Посмотреть профиль Найти все сообщения от Александр-IV
 
Регистрация: 31.10.2010
Сообщений: 5

Спасибо Tim,хотя именно на поставленный вопрос не ответили . Но, господа, не стоит так резко отзываться, я самостоятельно изучаю JS меньше недели, а здесь синтаксис достаточно труден.Gvozd, Вы даже не знаете с кем говорите, а уже опускаете человека.

Последний раз редактировалось Александр-IV, 04.11.2010 в 13:24.
Ответить с цитированием
  #6 (permalink)  
Старый 05.11.2010, 02:15
Аватар для Tim
Tim Tim вне форума
Профессор
Отправить личное сообщение для Tim Посмотреть профиль Найти все сообщения от Tim
 
Регистрация: 05.06.2009
Сообщений: 1,703

Александр-IV,
Не ответили для того, чтобы вы подумали немного, а то пишите "бессмысленные наборы символов".

Как известно метод prompt выводит окно с двумя кнопками и текстовым полем. Если пользователь нажал cancel то метод вернёт null. Если пользователь ни чего не ввёл и нажал ok, то метод вернёт пустую строку. Оба эти значения (пустая строка и null) в условном операторе трактуются как false, а значит мы можем написать вот так:

var txt = prompt("Введите значение");

if (txt) {
    alert("принято");
} else {
    alert("не принято");
}


Это то же самое что у exec, только без использования сокращённой записи оператора if
__________________
Лучше установить FreeBSD, чем потратить 30 лет на Linux'ы и выяснить какой из них хуже.
Самые главные в жизни вещи - не вещи! (было написано на одном гараже =)
Ответить с цитированием
  #7 (permalink)  
Старый 05.11.2010, 03:08
Аватар для Gvozd
Матрос
Отправить личное сообщение для Gvozd Посмотреть профиль Найти все сообщения от Gvozd
 
Регистрация: 04.04.2008
Сообщений: 6,246

Сообщение от Александр-IV
а здесь синтаксис достаточно труден
здесь C-подобный синтаксис.
если он для вас труден, то вы идиот, и вам следует остановится на языках не сложнее чем паскаль, или бейсик.
хотя наверно они также вам будут сложны.
Сообщение от Александр-IV
Gvozd, Вы даже не знаете с кем говорите, а уже опускаете человека.
что за переход на личности?
мне абсолютно все равно кто вы.
будь вы трижды британской королевой.
мне все равно, кто вы.
и я на тот момент никакого суждения о вас лично еще не высказывал.
хотя уже догадывался об идиотизме.

И откровенно говоря, мне завидно.
так как такого уровня идиотизма даже я еще не достигал.
Я слабо представляю как можно дойти в изучении "синтаксически сложного" языка до тернарного оператора, и при этом писать такой идиотский код, как будто вы не можете отличить объект от булевой переменной и от логического условия.
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как сделать связанные поля ввода diakon Элементы интерфейса 2 11.12.2009 16:17
Добавить поля, чтоб не чистились атрибуты value Alazaur Events/DOM/Window 5 16.09.2009 19:49
Подгружаемые поля формы AlexJ AJAX и COMET 2 26.06.2009 18:04
Определение значение поля input/file sancho Общие вопросы Javascript 3 28.05.2009 12:42
Динамическое клонирование поля и AJAX supercelt AJAX и COMET 6 02.09.2008 11:27