正则表达式验证双值

时间:2010-10-04 00:14:57

标签: c# regex visual-studio-2008

我正在尝试使用正则表达式来验证双值。我承认我是正则表达式的废话,真的应该买一本书...无论如何,范围很大,所以这里是:

.01到99.99,是范围,前导'00'是可选的,''是'。对于尾随'.00'也一样。因此,用户可以键入0.1 00.01,0.11,1,1.0 1.00,这些都是有效的。

谢谢,r。

2 个答案:

答案 0 :(得分:7)

为什么不使用double的TryParse方法而不是RegEx?

string[] sa = new string[] { "00.01", "1.00", "xx" };
double d;
bool isValid;
foreach (string s in sa)
{
    isValid = double.TryParse(s, out d) && d >= 0.01d && d <= 99.99d;
    Console.WriteLine("{0}: {1}", s, isValid.ToString());
}

答案 1 :(得分:-1)

^[0-9]{0,2}\.?[0-9]{0,2}$

你可以在这里试试:http://www.regular-expressions.info/javascriptexample.html