使用正则表达式验证MVC验证中的字符串

时间:2012-12-12 20:16:55

标签: model-view-controller

我试图掌握正则表达式的概念,但似乎缺少某些东西。

我想确保有人在字段中输入以.wav结尾的字符串。应该是一个非常简单的正则表达式。

我试过这个...... [正则表达式(@ “$。WAV”)] 但似乎是不正确的。任何帮助表示赞赏。谢谢!

1 个答案:

答案 0 :(得分:1)

$是字符串结尾的锚点,因此$.wav没有任何意义。字符串结尾后不能有任何字符。此外,.对正则表达式具有特殊含义(它只是意味着“任何字符”),因此您需要将其转义。

尝试写作

\.wav$

如果不起作用,请尝试

.*\.wav$

(这取决于RegularExpression属性是想要匹配整个字符串,还是仅仅是其中的一部分。.*表示'任何字符,0次或更多次')

您应该考虑的另一件事是如何处理字段中的额外空格。用户有一种在输入中添加额外空白空间的可怕习惯 - 这就是为什么各种.Trim()函数如此重要。在这里,可以在修剪输入之前评估RegularExpressionAttribute,因此您可能想要写这个:

.*\.wav[\s]*$

[\s]*部分表示'任何空格字符(制表符,空格,换行符等)0次或更多次。

您应该阅读有关正则表达式的教程。对于像这样的简单问题,并不难理解。当我在学习时,我发现这个网站非常方便:http://www.regular-expressions.info/