我需要一个与伊朗汽车车牌号匹配的正则表达式。
该组合由 两位数字 后跟 波斯字母,然后是另一个 三位数
组成
如下图所示:
有必要允许用户输入英文数字(1-9),因为某些浏览器或操作系统不支持波斯数字,但字母必须是波斯语,因为它始终受支持。
编辑: 无论如何,我在 ASP.net MVC 中使用 C#
您可以使用以下正则表达式从左到右匹配:
\d{2}[\u0600-\u06FF]\d{3}
\d{2}
匹配两个连续数字。[\u0600-\u06FF]
匹配单个字母。\d{3}
匹配三个连续数字。找到了我要找的东西:
"[۱-۹\\d]{2}[\u0600-\u06FF][۱-۹\\d]{3}"
与 MVC 数据注释完美配合,我目前正在使用它
[RegularExpression("[۱-۹\\d]{2}[\u0600-\u06FF][۱-۹\\d]{3}", ErrorMessage = "It's wrong!")]
感谢Sniffer帮助我找到了正确的答案。 :)
希望大家觉得这有帮助
如果您想要完整字符串的模式,请使用此功能。
/[0-9۰-۹]{2}[الف|ب-ی|D]{1,3}[0-9۰-۹]{3}ایران[0-9۰-۹]{2}/
[0-9۰-۹]{2}
:匹配前两位数字,允许英语和波斯语数字(无论用户键盘语言如何都接受输入)。[الف|ب-ی|D]{1,3}
:匹配一到三个波斯字母。它涵盖了一系列波斯语字符,包括“??”、“?”、“?”等,以及表示外交汽车的拉丁字母“D”。您还可以添加更多字母以接受所有类型的车牌号码。注意:您还应该限制这部分字符串的输入长度。[0-9۰-۹]{3}
:匹配以下三位数字。ایران
:模式的这部分与字面单词“??”匹配。[0-9۰-۹]{2}
:匹配车牌的最后两位数字。