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

本文关键字:Unicode 字符 何检测 检测 不属于 | 更新日期: 2023-09-27 18:05:12

我使用ASP。. NET 4和c# .

我需要将RegEx应用到RegularExpressionValidator控件中,以不允许在文本框中插入不属于某些Unicode类别的字符。

名称:

  • UppercaseLetter
  • LowercaseLetter

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

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

['p{UppercaseLetter}'p{LowercaseLetter}]

请参阅MSDN上字符类页面的"支持的Unicode通用类别"answers"支持的命名块"部分,以获取支持的字符类列表。

请参见这个问题:捕获a-z以外字母的正则表达式

Edit:请记住,这在浏览器中不起作用,因为我认为Regex的客户端实现不支持/p

我不认为可以使用RegularExpressionValidator。

一个明显的解决方案是使用一个CustomValidator来检查Char.GetUnicodeCategory