JS验证输入数据替数字(可以是整数或者是小数)

JS验证输入数据为数字(可以是整数或者是小数)
如题目所示:
 
var regu = "^[0-9]*$";
 可以验证必须是数字(必须是整数,但可以把包含字母或汉字的排除),但如把3.56也排除在外,但小数应该是接受的
把正则修改为:
 
var regu = "^[0-9]+\.?[0-9]*$";
 这种情况应该是可以接受小数的数字的,但实际测试是发现连包含字母或汉字的也不能排除了,会不会是页面其它的JS错误导致的?

完整校验函数如下:

function isNumber( s )
{
var regu = "^[0-9]+\.?[0-9]*$";
// var regu = "^[0-9]*$";
var re = new RegExp(regu);
if (re.test(s)) 
{
return true;

else 
{
return false;
}
}

------解决思路----------------------
测试是可以的
判断number可以用js提供的方法 isNaN(Number('3.14'))  非数字true,数字false
JS验证输入数据替数字(可以是整数或者是小数)