Как сделать так, чтобы поле ввода принимало дату в формате дд / мм / гггг? - PullRequest
1 голос
/ 10 ноября 2009

Как заставить поле ввода HTML принимать дату строго в формате дд / мм / гггг? В качестве альтернативы любой код PHP для передачи введенной даты в этом формате в MySQL?

Ответы [ 5 ]

5 голосов
/ 10 ноября 2009

Поле ввода html нельзя заставить делать это. Вы можете либо позволить пользователю ввести то, что он хочет, а затем проверить на стороне сервера с помощью php, если формат соответствует.

Или вы используете jQuery и плагин jQuery Validation (javascript), чтобы предоставить клиенту проверку перед отправкой формы. например как это

$("#myform").validate({
  rules: {
    field: {
      required: true,
      date: true
    }
  }
});

Но вам все равно нужно проверить формат на стороне сервера, поскольку у пользователя может быть отключен JavaScript.

2 голосов
/ 10 ноября 2009

используйте 3 выпадающих меню для дня, месяца и года в формате HTML ...... затем поместите все 3 входа в массив в php и используйте функцию explode () ...

2 голосов
/ 10 ноября 2009

на стороне JS /[0-3][0-9]/[01][0-2]/\d{4}/.test(input_value) должен выполнить работу.

2 голосов
/ 10 ноября 2009

Лучший способ сделать это как на клиенте, так и на сервере. На клиенте код JavaScript подтвердил бы, что ввод в правильном формате. Вы можете написать свой собственный код проверки или использовать что-то вроде jquery validation . На сервере код PHP будет проверять дату еще раз, прежде чем вставить ее в базу данных.

2 голосов
/ 10 ноября 2009

Вы можете использовать этот скрипт jquery для маскировки ввода ...

А затем используйте этот скрипт PHP:

$date = '10/11/2009'; 
echo date('d-m-Y', strtotime($date)); // outputs 10/11/2009 

... чтобы убедиться, что вы правильно ввели.

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