模式 html 到 preg_match PHP

pattern html to preg_match PHP

我正在为 HTML (0[1-9]|[12][0-9]|3[01])[- /.](0[1-9]|1[012])[- /.](19|20)\d\d 使用下一个模式。

我想要 PHP preg_match() 完全相同的模式用于服务器端验证。有人知道吗?有没有什么转换器什么的。

该模式适用于 12/12/199912-12-1999,如您所见,它只允许 1900 年和 2000 年。

我在网上搜索了模式,但我找不到 12/12/199912-12-1999 + 1900 以及只有 2000 年的组合模式。

有人知道转换这些东西或制作 preg_match PHP 或模式 HTML 的好网站吗?

您需要做的就是转义正斜杠 (/)。使用反斜杠转义正斜杠,例如 \/

这就是你的模式:

(0[1-9]|[12][0-9]|3[01])[- \/.](0[1-9]|1[012])[- \/.](19|20)\d\d

preg_match('/(0[1-9]|[12][0-9]|3[01])[- \/.](0[1-9]|1[012])[- \/.](19|20)\d\d/', '12-12-9999', $matches);

这是一个关于 regex101 的例子,它使用 PHP 正则表达式引擎 (PCRE) 匹配两个日期:

https://regex101.com/r/tVEwwD/3

或者,另一种选择是使用不同的分隔符,如下所示:

preg_match('~(0[1-9]|[12][0-9]|3[01])[- /.](0[1-9]|1[012])[- /.](19|20)\d\d~', '12/12/9999', $matches);

注意正则表达式模式前后的 ~ 字符。那是分隔符。