Как мне проверить / проверить в jQuery, больше ли дата окончания [текстовое поле], чем дата начала [текстовое поле]?
105
Как мне проверить / проверить в jQuery, больше ли дата окончания [текстовое поле], чем дата начала [текстовое поле]?
Ответы:
Просто расширяю ответ слияния. этот метод расширения работает с использованием подключаемого модуля проверки jQuery. Он будет проверять даты и числа
Чтобы использовать это:
или
источник
code
если (значение == 0) {вернуть истину; } else if (! / Invalid | NaN / ...code
Я думаю, это должно сработать
источник
Немного поздно на вечеринку, но вот моя часть
Вот деталь:
источник
Ссылка на jquery.validate.js и jquery-1.2.6.js. Добавьте класс startDate в текстовое поле даты начала. Добавьте класс endDate в текстовое поле даты окончания.
Добавьте этот блок скрипта на свою страницу: -
Надеюсь это поможет :-)
источник
Я просто возился с ответом Дантеуно и обнаружил, что, хотя и с добрыми намерениями, к сожалению, он сломан в нескольких браузерах, которые не являются IE. Это потому, что IE будет довольно строго относиться к тому, что он принимает в качестве аргумента
Date
конструктора, но другие не будут. Например, Chrome 18 даетЭто приводит к тому, что код выбирает путь «сравнить даты», и оттуда все идет вниз (например
new Date("11")
, больше чем,new Date("66")
и это, очевидно, противоположно желаемому эффекту).Поэтому после рассмотрения я изменил код, чтобы отдать приоритет пути "числа" над путем "даты" и проверить, что ввод действительно числовой, с помощью отличного метода, представленного в разделе Проверка десятичных чисел в JavaScript - IsNumeric () .
В итоге код становится:
источник
Значения даты из текстовых полей могут быть получены методом jquery .val (), например
Я настоятельно рекомендую проанализировать строки даты, прежде чем сравнивать их. Объект Date Javascript имеет метод parse (), но поддерживает только форматы даты в США (ГГГГ / ММ / ДД). Он возвращает миллисекунды с начала эпохи unix, поэтому вы можете просто сравнить свои значения с помощью> или <.
Если вам нужны разные форматы (например, ISO 8661), вам нужно прибегнуть к регулярным выражениям или бесплатной библиотеке date.js.
Если вы хотите быть суперпользовательским, вы можете использовать jquery ui datepickers вместо текстовых полей. Есть вариант datepicker, который позволяет вводить диапазоны дат:
http://www.filamentgroup.com/lab/date_range_picker_using_jquery_ui_16_and_jquery_ui_css_framework/
источник
Поэтому мне нужно, чтобы это правило было необязательным, и ни одно из приведенных выше предложений не является необязательным. Если я вызываю метод, он отображается по мере необходимости, даже если я установил для него необходимость в значении.
Это мой призыв:
Мой
addMethod
не такой надежный, как самый популярный ответ Майка Э., но я использую средство выбора даты JqueryUI, чтобы принудительно выбрать дату. Если бы кто-нибудь мог сказать мне, как убедиться, что даты являются числами и чтобы метод был необязательным, это было бы здорово, но сейчас этот метод работает для меня:источник
В javascript / jquery большая часть разработчиков использует сравнение даты From & To, которое является строкой, без преобразования в формат даты. Самый простой способ сравнить по дате - больше, чем по дате.
Всегда выполняйте синтаксический анализ от и до даты перед сравнением, чтобы получить точные результаты
источник
Мне нравится то, что сказал Франц, потому что я использую это: P
источник
Или перейдите по этой ссылке
источник
источник
Надеюсь, это поможет :)
источник
Сначала вы разделяете значения двух полей ввода с помощью функции разделения. затем объедините то же самое в обратном порядке. после объединения нации проанализируйте его до целого числа. затем сравните два значения в инструкции if. например, 1> 20-11-2018 2> 21-11-2018
после разделения и объединения новых значений для сравнения 20181120 и 20181121 после этого сравните то же самое.
источник
это должно работать
источник
Если формат гарантированно правильный ГГГГ / ММ / ДД и точно такой же в двух полях, вы можете использовать:
Как сравнение строк
источник