日付が MM-DD-YY (ダッシュを含む) の形式であることを検証したいと思います。PHP (または JavaScript) でこれを行うにはどうすればよいですか?
質問する
136 次
3 に答える
0
JS
function isValidDate(date)
{
var matches = /^(\d{2})[-\/](\d{2})[-\/](\d{2})$/.exec(date);
if (matches == null) return false;
var d = matches[2];
var m = matches[1] - 1;
var y = matches[3];
var composedDate = new Date(y, m, d);
return composedDate.getDate() == d &&
composedDate.getMonth() == m &&
composedDate.getFullYear() == y;
}
console.log(isValidDate('10-12-61'));
console.log(isValidDate('12/11/61'));
于 2012-07-03T21:51:36.500 に答える
0
コード:
$d = "02-05-20";
if(strlen($d) == 8 && checkdate($d[0].$d[1],$d[3].$d[4],$d[6].$d[7]))
{
echo "Valid Date";
}
文字列の形式が正しく、日付自体が有効かどうかを確認します。
02-05-20
検証するtrue
13-05-20
検証false
(13 か月目なし)2-5-20
検証するfalse
于 2012-07-03T21:54:29.377 に答える
0
function validate_date($string) {
$date = DateTime::createFromFormat('m-j-y', $string);
if ($date === false) {
return false;
}
$dateparts = explode('-', $string);
if (!checkdate($dateparts[0], $dateparts[1], $dateparts[2])) {
return false;
}
return true; // You can also make this return $date if you want to use it further
}
var_dump(validate_date('02-28-99')); // true
var_dump(validate_date('02-29-99')); // false
于 2012-07-03T22:37:21.003 に答える