求一个JS验证浮点数的正则表达式

要求:
1)数值范围0.01~99999999.99
2)可以没有小数,有一位小数和有两位小数

如:1.01 2222 3569.6


目前找到这样一个正则:
^(([0-9]+\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\.[0-9]+)|([0-9]*[1-9][0-9]*))$
有 两个问题:不能规定位数;没有检测出最前和最后多余的零,如:00001和32.2500000