我試圖添加驗證到表單字段,以便如果它包含某個單詞,將顯示一個錯誤。目前,我有這樣的:如何在C#中添加不區分大小寫的表單字段驗證?
Validation.Add("field-1", Validator.Regex("^((?!TEST)(?!test).)*$", "Field may not contain 'test'"));
這工作得很好「TEST」和「測試」,但不會阻止其他人進入「測試」。
我已經嘗試添加不區分大小寫的標誌,但本作的正則表達式完全停止工作:(我)
Validation.Add("field-1", Validator.Regex("/^((?!TEST)(?!test).)*$/i", "Field may not contain 'test'"));
我也看了here可用於忽略大小寫,但沒」將不起作用要麼 - 也許我把它放錯了地方:
Validation.Add("field-1", Validator.Regex("^((?i)(?!TEST)(?!test).)*$", "Field may not contain 'test'"));
這是可行的無添加「測試」的每一個可能的變化?
嘗試'「(?i)^(?!。* TEST)。* $」'。它也似乎是你的['「^((?i)(?!TEST)(?! test)。)* $」'](http://regexstorm.net/tester?p=%5e%28%28% 3fi%29%28%3f!TEST%29%28%3f!test%29.%29 *%24&i = There + is + a + tESt + here)should also work(雖然這裏的脾氣暴躁的標記是一種「矯枉過正「)。 –
沒有那個運氣。看起來像(?i)的任何變化都會殺死整個事物。 – Andy
這是否意味着你在客戶端運行這個? '(?i)'在JS中不起作用,它只能在.NET中工作(以及其他一些正則表達式)。 –