如何检测不属于特定Unicode类别的字符?

时间:2011-08-09 12:36:48

标签: c# asp.net regex

我使用ASP.NET 4和C#。

我需要将RegEx应用于RegularExpressionValidator控件,以便不允许插入不在某个Unicode Categories的章程的TextBox中。

指定:

  • UppercaseLetter
  • LowercaseLetter

2 个答案:

答案 0 :(得分:2)

您可以使用\p{CLASS}来匹配unicode字符类:

[\p{UppercaseLetter}\p{LowercaseLetter}]

请参阅MSDN上Character Classes页面的“支持的Unicode常规类别”和“支持的命名块”部分,以获取支持的字符类列表。

另请参阅此问题:Regular expression to catch letters beyond a-z

修改请注意,这不会在浏览器中生效,因为我认为Regex的客户端实现不支持/p

答案 1 :(得分:1)

我认为不能使用RegularExpressionValidator完成。

一个明显的解决方案是use a CustomValidator检查Char.GetUnicodeCategory