匹配沙特阿拉伯(KSA)车辆编号模式的RegEx

时间:2019-02-06 14:55:36

标签: javascript regex unicode

有人可以为我提供正则表达式的沙特阿拉伯(KSA)车辆牌照吗? 基本上,我无法为拉丁文写正则表达式,因为它只接受以下17个阿拉伯字母以及以下英语翻译

ا |  A  
ب |  B  
ح |  J  
د |  D  
ر |  R  
س |  S  
ص |  X  
ط |  T  
ع |  E  
ق |  G  
ك |  K  
ل |  L  
م |  Z  
ن |  N  
هـ |     H  
و |  U  
ى |  V 

由于用户可以输入英文和阿拉伯语,所以我不知道如何限制拉丁字符,而我可以使用正则表达式来限制英文字母

Saudia(KSA)的车号格式包含三个字母和最多四个数字

This is the sample car license number plate

3 个答案:

答案 0 :(得分:2)

如果您要查找的是我想查找的内容,它将接受最多4个数字,但是数字或字符块中不能同时使用这两种类型的字符(尽管用户可以使用阿拉伯数字和沙特阿拉伯字符或沙特阿拉伯数字和拉丁字符)。

^[\u0660-\u0669|\d]{1,4}[\u0621-\u064A|\w]{3}

法律条目:

٢٤٧٩sdf
1334aif
1234حكهـ
حكهـ٢٤٧٩
123abc
12abc
1abc

非法条目:

٢1٧2 sكf
alfksjdd
12347844

请注意,省略了行尾符号($),因为这与阿拉伯语的方向性冲突。行符号的开头很好,对于防止包含该模式的更长的非法输入是必要的。

答案 1 :(得分:0)

根据给定的图像示例和

  

Saudia(KSA)的车号格式包含三个字母和最多四个数字

您可以像这样简单地做到这一点:

\d{1,4}[A-Z]{3}

说明:

\d{1,4}->表示1到4位数字

[A-Z]{3}->表示3个大写字母

但是但是,如果您还需要包含阿拉伯字母,则应该使用其Unicode专用代码点,您可以在Unicode for Arabic letters上找到它们。

不幸的是,我不懂阿拉伯语,所以我只能对您所写的一些字母进行粘贴测试。

但是从理论上讲,会是这样的:

\d{1,4}[A-Z\x{0600}-\x{06FF}]{3}

说明:

\d{1,4}->表示1到4位数字

[A-Z\x{0600}-\x{06FF}]{3}->表示3个unicode字符,代码在0600和06FF之间(根据所附表格)

答案 2 :(得分:-2)

这里是一个示例,将您限制为字母A,B和C。您可以替换为特定的字母列表:

\d{4}[ABCD]{3}