什麼是正確的正則表達式來驗證日期類似。 2009/10/22或2009/01/01等平臺PHPPHP正則表達式匹配日期
-6
A
回答
0
<?php
$date = '2009/10/22';
if (preg_match('/^(?:(19[0-9]{2}|20[0-9]{2}))\/(0[1-9]|1[012])\/(0[1-9]|[12][0-9]|3[01])$/', $date)) {
echo $date , ' is a valid date format.';
} else {
echo $date , ' is not a valid date format!';
}
?>
也請確保您使用了checkdate()功能除了這一點。
0
試試這個:
if (preg_match('#^\d{4}/\d{2}/\d{2}$#', $date)) {
...
}
這隻會匹配的日期,但你必須要驗證日期有效過,例如有沒有這樣的事情在2月31
+0
謝謝你,但有相匹配的日期,如2009-11-12 這裏的一個代碼,該代碼: 如果(IS_STRING($值)&&的preg_match('/ ^(\ d {4})\ /( (\ d {2})((\ d {2}))(:\ d {2}))?)$ /',$ value ,$ m)) 但我想匹配2009/11/12例如。這裏的值是一個日期字符串 – 2013-05-12 12:52:48
+0
這正是我的代碼匹配。你甚至沒有嘗試過,是嗎? – silkfire 2013-05-13 08:39:45
0
你可以做這樣的 - 首先驗證格式,然後用checkdate()
驗證值:
$value = '2009/10/22';
echo valid_date($value) ? "Yep, $value is a valid date" : "Nah, it's not valid";
function valid_date($value)
{
return preg_match('/^(?:(\d{4,})\/(\d{2})\/(\d{2}))$/', $value, $matches) === 1 && checkdate((int)$matches[2], (int)$matches[3], (int)$matches[1]);
}
平原preg_match()
是不會削減它。
相關問題
- 1. VBA正則表達式匹配日期
- 2. 正則表達式和日期匹配
- 3. Python正則表達式匹配日期
- 4. 正則表達式以匹配日期
- 5. 正則表達式匹配日期
- 6. 正則表達式匹配日期
- 7. 日期格式正則表達式匹配日期分隔符
- 8. 正則表達式來匹配日期從日期
- 9. cakephp的日期正則表達式匹配錯誤的日期
- 10. Php正則表達式,匹配模式?
- 11. php正則表達式匹配模式
- 12. 正則表達式匹配模式php
- 13. 正則表達式匹配日
- 14. 正確的正則表達式匹配日期
- 15. 的Javascript正則表達式不匹配日期正確
- 16. PHP的正則表達式匹配詞
- 17. PHP的正則表達式不匹配
- 18. PHP正則表達式匹配html
- 19. php - 正則表達式匹配問題
- 20. url匹配正則表達式爲php
- 21. PHP正則表達式匹配
- 22. PHP正則表達式匹配
- 23. PHP正則表達式不匹配
- 24. PHP正則表達式不匹配?
- 25. 正則表達式匹配PHP評論
- 26. 正則表達式匹配PHP
- 27. PHP正則表達式不會匹配
- 28. 匹配.PHP使用正則表達式
- 29. 正則表達式匹配兩個日期時間格式
- 30. 正則表達式日期格式匹配
謝謝!這是正確的答案 – 2013-05-12 12:54:44