40

我与 MVC 合作,我是新手。我想通过验证检查输入值是否仅使用波斯语(字符)[RegularExpression]。所以我认为使用正则表达式并需要检查 unicode 的范围,但我不知道如何找到波斯字符 Unicode 的范围。我对这个正则表达式是否正确?你的建议是什么,我怎样才能找到波斯语的 Unicode 范围

4

6 回答 6

26

波斯语字符在以下范围内:[\u0600-\u06FF]

尝试:

Regex.IsMatch(value, @"^[\u0600-\u06FF]+$")
于 2012-05-12T08:59:21.467 回答
24

检查波斯语中的第一个字母和最后一个字母范围我认为是这样的:

"^[آ-ی]$"
于 2012-05-13T05:31:53.883 回答
14
Regex.IsMatch(Text, @"^([\u0600-\u06FF]+\s?)+$")    

这仅包含标准阿拉伯符号范围但波斯语还包括 4 个更多字符:

ژ \uFB8A
پ \u067E
چ \u0686
گ \u06AF

所以你应该使用:

^[\u0600-\u06FF\uFB8A\u067E\u0686\u06AF]+$

如果你想匹配零宽度非连接器,你也应该添加这个:

\u200C
于 2014-10-20T11:45:33.207 回答
10
于 2018-04-25T09:01:29.193 回答
9

我在我的程序中使用了这个 RegExp,它可以正常工作。希望对您有所帮助:

 [پچجحخهعغفقثصضشسیبلاتنمکگوئدذرزطظژؤآإأءًٌٍَُِّ\s]+$
于 2013-07-08T13:19:30.933 回答
0

波斯语字符在以下范围内:[\u0600-\u06FF] + [\s]

尝试:

Regex.IsMatch(Text, @"^([\u0600-\u06FF]+\s?)+$")

此模式包含字母和空格字符。

于 2014-05-23T16:28:16.790 回答