【发布时间】:2013-01-21 17:59:27
【问题描述】:
情况:
MVC+DevExpress .NET
基于服务器端属性的客户端验证(如 [RegularExpression("^con|prn|aux$")])
有没有办法让验证不区分大小写?
我无法添加 i 标志,因为 RegExp 对象是由
在 DevExpress 客户端代码中创建的var regEx = new RegExp(this.pattern);
.NET 样式的内联修饰符,如 (?i) 返回“意外的量词”错误。
丑陋的选择是写类似 ^[Cc][Oo][Nn]|[Pp][Rr][Nn]|[Aa][Uu][Xx]$
【问题讨论】:
-
我猜你知道标志可以作为第二个参数传递给
new RegExp,比如new RegExp(pattern, "ig")? -
我无法修改 RegExp 创建代码。它被硬编码在 DevExpress 资源中的某个地方。
-
为什么不把你要匹配的字符串小写?
-
那么你将不得不采取丑陋的选择。请注意,
|的优先级甚至低于^和$,因此您需要使用^[Cc][Oo][Nn]$|^[Pp][Rr][Nn]$|^[Aa][Uu][Xx]$或非捕获括号^(?:[Cc][Oo][Nn]|[Pp][Rr][Nn]|[Aa][Uu][Xx])$
标签: javascript .net regex devexpress