繁体   English   中英

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

[英]Regular Expression validation not working for Chinese culture in ASP.Net

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

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

此ASP.Net应用程序的区域性是Web配置中指定的中文。

<globalization uiCulture="zh" culture="zh-CHT" />

在同一ASP.Net页的“ Product Description文本框中的以下输入始终失败。 我正在尝试匹配以下任意一项:中文字符或句号或逗号,分号或单引号或数字或圆/方括号。

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

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

在.NET正则表达式中,它可以在服务器端运行,可以使用Unicode类别

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

观看演示

因此,字符类匹配:

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

请注意,这些Unicode类别不适用于进行Englsh UI文化验证的客户端。 您可以在此处使用固定表达式:

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

观看演示

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM