2012-02-13 92 views
4

我有一個RegularExpressionValidator,其中唯一有效的輸入是8個字符長,由字母MP後跟6個數字組成。目前我有以下正則表達式,它的工作在ASP.NET中忽略區分大小寫RegularExpressionValidator

^(MP|mp|Mp|mP)[0-9]{6}$ 

但它感覺有點哈克。我希望能夠指定MP可以是大寫和小寫的任意組合,而不必列出可用的組合。

感謝,

大衛

+0

可能的重複http://stackoverflow.com/questions/2641236/make-regular-expression-case-insensitive-in-asp-net-regularexpressionvalidator – goodeye 2013-02-24 00:25:30

回答

3

你可以做到這一點,當你定義的正則表達式對象

Regex exp = new Regex(
    @"^mp[0-9]{6}$", 
    RegexOptions.IgnoreCase); 

或者您可以使用^(?i)mp[0-9]{6}$語法,這將使正則表達式不區分大小寫的只是特定位。但我會親自使用第一個選項(它更易於閱讀)。

有關詳細信息,請參閱有關msnd的文檔。

+1

+1,但內聯選項的syntay看起來像這樣(「 (我)(mp)[0-9] {6} $「' – stema 2012-02-13 09:29:30

+0

我認爲OP需要該組只是爲了交替,所以可能它不需要在這裏,所以'@「^ mp [0-9] {6} $」'會很好。 – stema 2012-02-13 09:31:13

+0

@stema tnanks,我已經糾正了 – oleksii 2012-02-13 09:31:31