
Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
|
10.02.2009, 12:58
|
|||
|---|---|---|---|
ПРоверка даты с помощью регулярных выражений |
|||
|
#18+
Добрый день. существует проблема... Есть проверка даты (хоть и простенькая но все же) с помощью регулярных выражений Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. Если вводить дату 10.02.2009 - все отрбатывается нормально. Но если поставить дату 09.02.2009 или 08.02.2009 - выдает алерт - "Проверьте правильность ввода1". Если же ввести 07.02.2009 все опять же отрабатывается. Сразу думал что проблема в вводе даты, т.е. если день вводиться через 0 (08,09,01) но дело не в этом. Подскажите пожалуйста В чем может быть проблема?? Заранее благодарен ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
10.02.2009, 13:04
|
|||
|---|---|---|---|
ПРоверка даты с помощью регулярных выражений |
|||
|
#18+
Числа, начинающиеся с "0" считаются в parseInt по умолчанию восьмеричными. Т.е. в парсеИнт ещё один параметр нужно указать, а то ведь isNaN(09) - тру таки. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
10.02.2009, 16:43
|
|||
|---|---|---|---|
ПРоверка даты с помощью регулярных выражений |
|||
|
#18+
А как же остальные проверки, в частности, 29-31 февраля, 31 апреля и т.д.? Я тут придумал небольшое ноу-хау (не тырял, сам придумал). Применительно к твоей обработке будет так: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. Суть метода заключается в условии month != date.getMonth() + 1 || day != date.getDate(), то есть при любых числах дата распарсится, но если, к примеру, мы введем 31.04.2009, то парсинг выдаст дату 01.05.2009 и условие не выполнится. З.Ы. переделывал код "на лету", поэтому могут пролетать мелкие ошибки ... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
10.02.2009, 17:49
|
|||
|---|---|---|---|
|
|||
ПРоверка даты с помощью регулярных выражений |
|||
|
#18+
Вот из моей библиотеки. Добавляем объекту String в JScript метод Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. Если подключить этот код, то проверять дату можно так: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. Давно ее написал и использую во всех проектах. Если пригодится, буду только рад :-) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|

start [/forum/topic.php?fid=22&mobile=1&tid=1455202]: |
0ms |
get settings: |
9ms |
get forum list: |
24ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
182ms |
get topic data: |
13ms |
get forum data: |
3ms |
get page messages: |
57ms |
get tp. blocked users: |
2ms |
| others: | 200ms |
| total: | 498ms |

| 0 / 0 |
