伊朗车牌号的波斯字母和数字正则表达式

问题描述 投票:0回答:3

我需要一个与伊朗汽车车牌号匹配的正则表达式。 该组合由 两位数字 后跟 波斯字母,然后是另一个 三位数
组成 如下图所示:

有必要允许用户输入英文数字(1-9),因为某些浏览器或操作系统不支持波斯数字,但字母必须是波斯语,因为它始终受支持。

编辑: 无论如何,我在 ASP.net MVC 中使用 C#

regex asp.net-mvc-4 combinations persian
3个回答
4
投票

您可以使用以下正则表达式从左到右匹配:

\d{2}[\u0600-\u06FF]\d{3}
  • \d{2}
    匹配两个连续数字。
  • [\u0600-\u06FF]
    匹配单个字母。
  • \d{3}
    匹配三个连续数字。

1
投票

找到了我要找的东西:

"[۱-۹\\d]{2}[\u0600-\u06FF][۱-۹\\d]{3}"  

与 MVC 数据注释完美配合,我目前正在使用它

[RegularExpression("[۱-۹\\d]{2}[\u0600-\u06FF][۱-۹\\d]{3}", ErrorMessage = "It's wrong!")]

感谢Sniffer帮助我找到了正确的答案。 :)
希望大家觉得这有帮助


0
投票

如果您想要完整字符串的模式,请使用此功能。

/[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}
    :匹配车牌的最后两位数字。
© www.soinside.com 2019 - 2024. All rights reserved.