gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-11-30 21:55:53 25 4
gpt4 key购买 nike

我有一个正则表达式验证器,在 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 categories .

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

参见 demo

因此,字符类匹配:

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

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

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

参见 demo

关于c# - 正则表达式验证不适用于 ASP.Net 中的中国文化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31840255/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com