我正在尝试使用正则表达式来验证双值。我承认我是正则表达式的废话,真的应该买一本书...无论如何,范围很大,所以这里是:
.01到99.99,是范围,前导'00'是可选的,''是'。对于尾随'.00'也一样。因此,用户可以键入0.1 00.01,0.11,1,1.0 1.00,这些都是有效的。
谢谢,r。
答案 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