美国州正则表达与案例敏感

时间:2015-12-30 19:37:09

标签: regex asp.net-mvc

我正在使用ASP.NET MVC应用程序,并且模型具有以下正则表达式来验证美国各州。

如果用户输入全部大写但不适用于小写/驼峰案例场景,则此工作正常。

// [RegularExpression(@"^(?-i:A[LKSZRAEP]|C[AOT]|D[EC]|F[LM]|G[AU]|HI|I[ADLN]|K[SY]|LA|M[ADEHINOPST]|N[CDEHJMVY]|O[HKR]|P[ARW]|RI|S[CD]|T[NX]|UT|V[AIT]|W[AIVY])$", ErrorMessage = "Invalid State")]

我试过这个,但没有运气。

if
谢谢你。

3 个答案:

答案 0 :(得分:1)

由于此表达式可用于客户端验证(因此需要ECMA正则表达式语法,即与JavaScript兼容的正则表达式),因此不能使用内联修饰符,如(?i),更不用说切换版本{{1 }}

你必须用小写字母加倍每个字母:

(?i:...)

请参阅demo

答案 1 :(得分:0)

上面的列表不是很详尽-缺少一些军事缩写。相信我-您不想收到爱国家庭的愤怒,他们试图向军队中的亲人发送东西。

相同的技术-我又添加了一些。

^(([Aa][EeLlKkSsZzRr])|([Cc][AaOoTt])|([Dd][EeCc])|([Ff][MmLl])|([Gg][AaUu])|([Hh][Ii])|([Ii][DdLlNnAa])|([Kk][SsYy])|([Ll][Aa])|([Mm][EeHhDdAaIiNnSsOoTt])|([Nn][EeVvHhJjMmYyCcDd])|([Mm][Pp])|([Oo][HhKkRr])|([Pp][WwAaRr])|([Rr][Ii])|([Ss][CcDd])|([Tt][NnXx])|([Uu][Tt])|([Vv][TtIiAa])|([Ww][AaVvIiYy]))$

答案 2 :(得分:0)

我用过

[^,]*[A-Z]{2}

希望它对您有用。