3

所以前几天我刚刚了解了 PHP 中的 preg_match,现在我正在尝试 preg_match 车牌。它应该检查这个:

9a-4e-yy, 所以 a-和之前和之后的数字或字母,然后是 a-和更多的数字或字母。但它必须恰好是 2 个彼此相邻的数字或字母,而不是更多。

现在我有这个代码:

return preg_match("/^([0-9])"."([0-9])"."(\-([0-9])"."([0-9]))"."(\-([0-9])"."([0-9]))$/", $kenteken );

但这仅检查数字。

我希望你们也能帮助我处理字母。

提前致谢!

4

2 回答 2

6

[0-9]只匹配数字。如果要匹配数字或字母,则需要[0-9A-Za-z].

一个完整的正则表达式来做你想做的事^[0-9A-Za-z]{2}(-[0-9A-Za-z]{2}){2}$

于 2012-06-25T08:22:12.353 回答
3

你可能想要:

preg_match('/^[0-9a-z]{2}-[0-9a-z]{2}-[0-9a-z]{2}$/i', $kenteken);

[0-9a-z]表示任何数字“0”到“9”或任何(小写)字母“a”到“z”。{2}表示完全匹配 2 个字符。末尾的/i表示不区分大小写的匹配,因此它也会匹配大写字母。

于 2012-06-25T08:26:20.363 回答