PHP에서 미리 정의된 형식으로 날짜 문자열 유효성 검사
정규 표현식을 사용하여 날짜 문자열을 유효성 검사하는 현재 접근 방식이 항상 정확한 결과를 산출하는 것은 아닙니다. 이러한 제한 사항을 해결하기 위해 이 기사에서는 PHP의 DateTime 클래스를 사용하는 우수한 방법을 제시합니다.
DateTime::createFromFormat() 사용
PHP의 DateTime::createFromFormat() 함수는 다음을 제공합니다. 특정 형식의 날짜 문자열 유효성 검사를 위한 포괄적인 솔루션입니다. 입력 문자열과 원하는 형식을 이 함수에 전달하면 날짜를 나타내는 DateTime 객체를 얻을 수 있습니다.
function validateDate($date, $format = 'Y-m-d') { $d = DateTime::createFromFormat($format, $date); // The Y ( 4 digits year ) returns TRUE for any integer with any number of digits so changing the comparison from == to === fixes the issue. return $d && strtolower($d->format($format)) === strtolower($date); }
추가 고려 사항
validateDate() 함수 정밀도를 보장하기 위해 다음 기준을 사용합니다.
테스트 사례 및 데모
다음 테스트 사례는 verifyDate() 함수의 다양성을 보여줍니다.
var_dump(validateDate('2013-13-01')); // false var_dump(validateDate('20132-13-01')); // false var_dump(validateDate('2013-11-32')); // false var_dump(validateDate('2012-2-25')); // false var_dump(validateDate('2013-12-01')); // true var_dump(validateDate('1970-12-01')); // true var_dump(validateDate('2012-02-29')); // true var_dump(validateDate('2012', 'Y')); // true var_dump(validateDate('12012', 'Y')); // false var_dump(validateDate('2013 DEC 1', 'Y M j')); // true
데모 사용해 보기 제공된 링크를 방문하세요.
결론적으로 DateTime::createFromFormat()은 PHP에서 날짜 문자열을 검증하는 강력한 방법을 제공하여 코드의 정확성과 유연성을 보장합니다.
위 내용은 PHP에서 특정 형식의 날짜 문자열을 안정적으로 검증하려면 어떻게 해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!