如何在没有RegexOptions.IgnoreCase的情况下使这个正则表达式不区分大小写?

时间:2015-08-12 08:06:36

标签: asp.net regex

我试图将两个单词用于性别匹配,但我想接受所有情况 例如:男性,男性,MalE

我将它用作属性,因此它可以用于客户端和服务器验证...

[RegularExpression(RegExKeys.Gender, ErrorMessage = ConstantKeys.ValidationMessage_Gender_RegEx)]

这是我的正则表达式:

public const string Gender = @"^\b(male|female)\b$";

我试图在不同的地方添加(?i)但是我在那里得到了jquery错误......或者我没有正确地做到这一点......

知道如何让这个RegEx同时适用于客户端和服务器吗?

2 个答案:

答案 0 :(得分:1)

这不是很漂亮,但如果这就是你所需要的:

^\b([mM][aA][lL][eE]|[fF][eE][mM][aA][lL][eE])\b$

更新1

如评论中所述,不需要单词边界

^([mM][aA][lL][eE]|[fF][eE][mM][aA][lL][eE])$

答案 1 :(得分:1)

为什么不在客户端(toLowerCase()语法)上的字符串上使用JavaScript,在服务器上的字符串上使用ToLower()C#语法),在评估匹配的字符串之前?