我使用正則表達式如下在dd/mm/yyyy
格式分析日期:正則表達式問題在PHP
^(0[1-9]|[12][0-9]|3[01])[- /.](0[1-9]|1[012])[- /.](19|20)\d\d$
我檢查它strfriend,這一切看起來確定。然而,在PHP與preg_match
它測試時,它不承認它:
if(!preg_match("/^(0[1-9]|[12][0-9]|3[01])[- /.](0[1-9]|1[012])[- /.](19|20)\d\d$/",trim($_POST['dob']))){
$error .= "You must enter a valid date of birth.";
}
這種情況與輸入如29/10/1987
和01-01-2001
,我不知道爲什麼它不工作!
我也得到了以下警告:
Warning: preg_match() [function.preg-match]: Unknown modifier '.' in /home/queensba/public_html/workers/apply.php on line 18
這我不知道如何解釋。
它是如何通過`「\ d」`作爲其未知的轉義序列? – sln 2011-02-07 21:52:53
``\\ d「`也應該有效。像下面的`\ /`一樣,`\ d`不是作爲php轉義序列存在的,因此它對於正則表達式引擎保持esacped。 – giraff 2011-02-08 09:44:36