我正在尝试使用preg_match()使用PHP验证DD/MM/YYYY等日期.这是我的REGEX表达式的样子:
$pattern = "/^([123]0|[012][1-9]|31)/(0[1-9]|1[012])/(19[0-9]{2}|2[0-9]{3})$/";
Run Code Online (Sandbox Code Playgroud)
但是使用正确的值,我得到这样的信息:
preg_match():未知的修饰符'('
完整代码:
$pattern = "/^([123]0|[012][1-9]|31)/(0[1-9]|1[012])/(19[0-9]{2}|2[0-9]{3})$/";
$date = "01/03/2011";
if(preg_match($pattern, $date)) return TRUE;
Run Code Online (Sandbox Code Playgroud)
先感谢您
Del*_*ani 12
/将表达式中的字符转义为\/.
$pattern = "/^([123]0|[012][1-9]|31)\/(0[1-9]|1[012])\/(19[0-9]{2}|2[0-9]{3})$/";
Run Code Online (Sandbox Code Playgroud)
正如其他答案所指出的那样,使用另一个未在表达式中使用的分隔符看起来更好,例如~避免"倾斜牙签"效应使其难以阅读.