Форум программистов, компьютерный форум, киберфорум
JavaScript
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.69/26: Рейтинг темы: голосов - 26, средняя оценка - 4.69
0 / 0 / 0
Регистрация: 07.12.2013
Сообщений: 15

Реализовать проверку ввода даты

25.12.2013, 13:15. Показов 5763. Ответов 14
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Помогите, необходимо реализовать проверку ввода даты в заданном формате (ГГГГ-ММ-ДД). на языке JavaScript.
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
25.12.2013, 13:15
Ответы с готовыми решениями:

Реализовать контроль ошибок ввода данных в поле, предназначенное для ввода времени
5.Реализовать в JavaScript контроль ошибок ввода данных в поле, предназначенное для ввода времени.

Реализовать контроль ошибок ввода данных в поле, предназначенное для ввода пароля
4.Реализовать в JavaScript контроль ошибок ввода данных в поле, предназначенное для ввода пароля.

Реализовать контроль ошибок ввода данных в поле, предназначенное для ввода номера телефона
1.Реализовать в JavaScript контроль ошибок ввода данных в поле, предназначенное для ввода номера телефона.

14
 Аватар для Доктор Зойдберг
104 / 88 / 21
Регистрация: 19.05.2012
Сообщений: 458
25.12.2013, 13:25
В поле input type="text"?

Регуляркой очень просто.
Скиньте свой код.
0
0 / 0 / 0
Регистрация: 07.12.2013
Сообщений: 15
25.12.2013, 14:22  [ТС]
JavaScript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
<html>  
<head>  
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">  
<title></title>  
</head>  
<body>  
<form name="form" method=get> 
<input type="text" name="data" size="40" maxlength="256" >  
<input type="submit" onClick="check_pattern(this.form)"> 
</form> 
</body>  
</html> 
<script language="JavaScript">  
<!--  
//  document.forms.form.data.mask = "(###)"; 
  function check_pattern(current_form)  
 
    var reg_exp = /^[0123][\d]\/[01][012]\/[\d]{4}$/i 
    if(reg_exp.test(current_form.data.value)) 
    { 
      return true;  
    } 
    else 
    { 
      alert("Дату следует ввести в формате yyyy-mm-dd"); 
      return false;  
    } 
  }  
//-->  
</script>
Добавлено через 25 минут
даже если я ввожу соответствующую дату, он все равно выводит "Дату следует ввести в формате yyyy-mm-dd"
0
супермизантроп
Эксперт JS
3941 / 2979 / 692
Регистрация: 18.04.2012
Сообщений: 8,629
25.12.2013, 14:42
JavaScript
1
var reg_exp = /^\d\d\d\d\-\d\d\-\d\d$/;
0
0 / 0 / 0
Регистрация: 07.12.2013
Сообщений: 15
25.12.2013, 14:49  [ТС]
теперь вообще не выводит предупреждение, если ввожу соответствующую дату
0
супермизантроп
Эксперт JS
3941 / 2979 / 692
Регистрация: 18.04.2012
Сообщений: 8,629
25.12.2013, 15:08
HTML5
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
<title></title>
</head>
<body>
<form name="form" method=get>
<input type="text" name="data" size="40" maxlength="256" >
<input type="submit" onClick="return check_pattern(this.form)">
</form>
</body>
</html>
<script>
function check_pattern(current_form)
{
var reg_exp = /^\d\d\d\d\-\d\d\-\d\d$/;
if(reg_exp.test(current_form.data.value))
   {
   return true;
   }
else
   {
   alert("Äàòó ñëåäóåò ââåñòè â ôîðìàòå yyyy-mm-dd");
   return false;
   }
}
</script>
1
 Аватар для Доктор Зойдберг
104 / 88 / 21
Регистрация: 19.05.2012
Сообщений: 458
25.12.2013, 15:37
Цитата Сообщение от kalabuni Посмотреть сообщение
var reg_exp = /^\d\d\d\d\-\d\d\-\d\d$/;
Чего?
лол.

Добавлено через 13 минут
JavaScript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
<title></title>
<script>
function check_pattern(current_form) {
    var reg_exp = /^\d{1,4}-\d{2}-\d{2}$/;
    if(reg_exp.test(current_form.data.value)) {
        return true;
    } else {
        alert("Дату следует ввести в формате yyyy-mm-dd");
        return false;
    }
}
</script>
</head>
<body>
    <form name="form" method=get>
        <input type="text" name="data" size="40" maxlength="256" >
        <input type="submit" onClick="return check_pattern(this.form)">
    </form>
</body>
</html>
d{1,4} - Любое число от 0 до 9, длиной от 1 до 4 символов.
Если вам не нужны годы до 2000-го например, то нужно сделать 20\d{2}
1
супермизантроп
Эксперт JS
3941 / 2979 / 692
Регистрация: 18.04.2012
Сообщений: 8,629
25.12.2013, 21:14
Цитата Сообщение от Доктор Зойдберг Посмотреть сообщение
Чего?
того
мой вариант - /^\d\d\d\d\-\d\d\-\d\d$/ - правильный, ибо он точно соответствует заданному формату yyyy-mm-dd

ваш вариант - /^\d{1,4}-\d{2}-\d{2}$/ - неверный, ошибку я выделил красным цветом: формат yyyy-mm-dd требует именно четыре цифры для года, а не ваши "от одной до четырёх"

ваша ошибка исправляется так: /^\d{4}-\d{2}-\d{2}$/
1
0 / 0 / 0
Регистрация: 07.12.2013
Сообщений: 15
25.12.2013, 22:31  [ТС]
Цитата Сообщение от kalabuni Посмотреть сообщение
того
мой вариант - /^\d\d\d\d\-\d\d\-\d\d$/ - правильный, ибо он точно соответствует заданному формату yyyy-mm-dd

ваш вариант - /^\d{1,4}-\d{2}-\d{2}$/ - неверный, ошибку я выделил красным цветом: формат yyyy-mm-dd требует именно четыре цифры для года, а не ваши "от одной до четырёх"

ваша ошибка исправляется так: /^\d{4}-\d{2}-\d{2}$/
я воспользовалась Вашим вариантом, спасибо большое
0
 Аватар для Доктор Зойдберг
104 / 88 / 21
Регистрация: 19.05.2012
Сообщений: 458
25.12.2013, 22:35
Цитата Сообщение от kalabuni Посмотреть сообщение
ваш вариант - /^\d{1,4}-\d{2}-\d{2}$/ - неверный, ошибку я выделил красным цветом
А написать d{4} вера не позволяет?

и не было условия, что дата не может быть ранее 1000 года.
1
супермизантроп
Эксперт JS
3941 / 2979 / 692
Регистрация: 18.04.2012
Сообщений: 8,629
25.12.2013, 22:39
Цитата Сообщение от Доктор Зойдберг Посмотреть сообщение
А написать d{4} вера не позволяет?
я неверующий - и потому мне всё позволено

предлагаемый вами вариант мною был написан в самой последней строчке
вам "вера не позволила" моё предыдущее сообщение прочитать до конца?
0
 Аватар для Доктор Зойдберг
104 / 88 / 21
Регистрация: 19.05.2012
Сообщений: 458
25.12.2013, 23:53
Это не ошибка.

Но не в этом суть.

Я не понимаю мотива, по которой нужно было сразу писать так - \d\d\d\d, а не так - \d{4}
А если там число длинной в 10+ символов?
0
супермизантроп
Эксперт JS
3941 / 2979 / 692
Регистрация: 18.04.2012
Сообщений: 8,629
26.12.2013, 00:58
Цитата Сообщение от Доктор Зойдберг Посмотреть сообщение
Я не понимаю мотива, по которой нужно было сразу писать так - \d\d\d\d, а не так - \d{4}
мне так нравится!
такой "мотив" устроит?
Цитата Сообщение от Доктор Зойдберг Посмотреть сообщение
А если там число длинной в 10+ символов?
подумаем, изберём новый мотив и напишем так, как нравится
-------------

цепляетесь к туфте
зачем?
энергию девать некуда?
0
 Аватар для Доктор Зойдберг
104 / 88 / 21
Регистрация: 19.05.2012
Сообщений: 458
26.12.2013, 01:01
Цитата Сообщение от kalabuni Посмотреть сообщение
мне так нравится!
А, ну так если в этом причина.
Только страждущих не нужно подсаживать на такое развлечение намеряно))

Цитата Сообщение от kalabuni Посмотреть сообщение
цепляетесь к туфте
Я цепляюсь только тогда, когда человек сам начинает спорить.

А так, не желаю переходить на оффтоп, так что спасибо собеседникам)
0
супермизантроп
Эксперт JS
3941 / 2979 / 692
Регистрация: 18.04.2012
Сообщений: 8,629
26.12.2013, 01:09
Цитата Сообщение от Доктор Зойдберг Посмотреть сообщение
Я цепляюсь только тогда, когда человек сам начинает спорить.
не тупите

мой вариант вызвал у вас почему-то изжогу
и спорить начали как раз вы
во время спора предложили свой - НЕПРАВИЛЬНЫЙ - вариант, который мне пришлось исправлять
формат yyyy-mm-dd специально записывается с четырьмя "y", чтобы показать, что год - больше 999-го
mm и dd у вас же не вызвали предположения, что месяц и день "могут быть меньше 10-го" и вы не написали в регулярке для них \d{1,2}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
26.12.2013, 01:09
Помогаю со студенческими работами здесь

Как сделать проверку корректности ввода логина?
Скрипт должен проверять минимум символов(6) и чтобы логин не начинался с цифры?

Как можно осуществить проверку результата ввода
Помогите написать скрипт по генерации 2 случайных чисел (например 24 и 8), выводу арифметической операции сложения между данными числами на...

Реализовать проверку формы на стороне клиента
Хочу понять как через js сделать чтобы проверял сразу в браузере &lt;html&gt;&lt;head&gt; &lt;?php if (isset ($_POST)) { $output = '&lt;p...

поле ввода даты
Приветствую. На странице нужно заводить дату в формать xx.xx.xxxx для последующего помещения значения в БД. Подскажите, есть ли...

Удобное поле ввода даты рождения
Подскажите, нужно тоже самое, что человеку тут, маска для ввода, как на картинке


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
15
Ответ Создать тему
Новые блоги и статьи
Автозаполнение реквизита при выборе элемента справочника
Maks 27.03.2026
Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2. При выборе "Спецтехники" (Тип Справочник. Спецтехника), заполняется. . .
Сумматор с применением элементов трёх состояний.
Hrethgir 26.03.2026
Тут. https:/ / fips. ru/ EGD/ ab3c85c8-836d-4866-871b-c2f0c5d77fbc Первый документ красиво выглядит, но без схемы. Это конечно не даёт никаких плюсов автору, но тем не менее. . . всё может быть. . .
Автозаполнение реквизитов при создании документа
Maks 26.03.2026
Программный код из решения ниже размещается в модуле объекта документа, в процедуре "ПриСозданииНаСервере". Алгоритм проверки заполнения реализован для исключения перезаписи значения реквизита,. . .
Команды формы и диалоговое окно
Maks 26.03.2026
1. Команда формы "ЗаполнитьЗапчасти". Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2. В качестве источника данных. . .
Кому нужен AOT?
DevAlt 26.03.2026
Решил сделать простой ланчер Написал заготовку: dotnet new console --aot -o UrlHandler var items = args. Split(":"); var tag = items; var id = items; var executable = args;. . .
Отправка уведомления на почту при изменении наименования справочника
Maks 24.03.2026
Программная отправка письма электронной почты на примере изменения наименования типового справочника "Склады" в конфигурации БП3. Перед реализацией необходимо выполнить настройку системной учетной. . .
модель ЗдравоСохранения 5. Меньше увольнений- больше дохода!
anaschu 24.03.2026
Теперь система здравосохранения уменьшает количество увольнений. 9TO2GP2bpX4 a42b81fb172ffc12ca589c7898261ccb/ https:/ / rutube. ru/ video/ a42b81fb172ffc12ca589c7898261ccb/ Слева синяя линия -. . .
Midnight Chicago Blues
kumehtar 24.03.2026
Такой Midnight Chicago Blues, знаешь?. . Когда вечерние улицы становятся ночными, а ты не можешь уснуть. Ты идёшь в любимый старый бар, и бармен наливает тебе виски. Ты смотришь на пролетающие. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru