正则表达式validation不适用于ASP.Net中的中国文化

我有一个正则表达式validation器,在ASP.Net更改中禁用了客户端validation。 用于此validation器的正则表达式如下所示,它正在validation输入到“ Product Description多行文本框中。

  Expression="^[\\p .,;'\-(0-9)\(\)\[\]]+$" 

这个ASP.Net应用程序的文化是web配置中指定的中文。

  

同一ASP.Net页面中的“ Product Description文本框中的以下输入始终失败。 我试图匹配其中任何一个:中文语言字符或句号或逗号或分号或单引号或数字或圆形/方括号。

问题 :正则表达式中导致此输入文本失败的内容是什么?如何更改它以满足匹配要求?

(1)降低庫存過程 (2)增加了吞吐量(1)降低庫存過程 (2)增加了吞吐量(1)降低庫存過程 (2)增加了吞吐量(1)降低庫存過程 (2)增加了吞吐量

在.NET regex中,在服务器端工作的那个,您可以使用Unicode类别 。

 ^[\p{L}\p{M}\p{N}\s\p{P}]+$ 

见演示

所以,字符类匹配:

  • \p{L} – Unicode字母
  • \p{M} – 变音符号
  • \p{N} – 数字
  • \s – 空白
  • \p{P} – 标点符号。

请注意,这些Unicode类别不适用于进行Englsh UI文化validation的客户端。 你可以在那里使用你的固定表达式:

 ^[a-zA-Z .,;'\-0-9()\[\]]+$ 

见演示