問題描述
沒有標誌的Javascript不區分大小寫的正則表達式 (Javascript case insensitive regex without flags)
情況:
MVC+DevExpress .NET
基於服務器端屬性的客戶端驗證(如[RegularExpression("^con|prn|aux$ ")])
有沒有辦法使驗證不區分大小寫?
我不能添加 i 標誌,因為 RegExp 對像是由
var regEx = new RegExp(this.pattern);
.NET 樣式的內聯修飾符在 DevExpress 客戶端代碼中創建,例如 (?i) 返回“意外的量詞”錯誤。
醜陋的替代方法是寫類似 ^[Cc][Oo][Nn]|[Pp][Rr][ Nn]|[Aa][Uu][Xx]$
參考解法
方法 1:
Once the javascript RegExp object has been created, you can't change the regular expression or the flags. But, you could get the original regex source using the .source
property and then create a new RegExp object with the newly desired flags.
(by user1782982、jfriend00)