js正则表达式判断一个字符串是否是正确的有数字和小数点组成的金钱形式和 判读数值类型的正则表达式

function checkRates(str){
    var re = /^(([1-9][0-9]*.[0-9][0-9]*)|([0].[0-9][0-9]*)|([1-9][0-9]*)|([0]{1}))$;   //判断字符串如果是整数不能以0开头后面加正整数,如果是浮点数整数部分不能为两个0:如00.00,如果是整数,
     var Sure;
     if (!re.test(str)){
         Sure =0;
     }else{
         Sure =1;
     }
     return Sure;
}
    alert(checkRates('196.3'));

^d+$/  //非负整数(正整数 + 0)
/^[0-9]*[1-9][0-9]*$/  //正整数
/^((-d+)|(0+))$/  //非正整数(负整数 + 0)
/^-[0-9]*[1-9][0-9]*$/  //负整数
/^-?d+$/    //整数
/^d+(.d+)?$/  //非负浮点数(正浮点数 + 0)
/^(([0-9]+.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*.[0-9]+)|([0-9]*[1-9][0-9]*))$/  //正浮点数
/^((-d+(.d+)?)|(0+(.0+)?))$/  //非正浮点数(负浮点数 + 0)
/^(-(([0-9]+.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*.[0-9]+)|([0-9]*[1-9][0-9]*)))$/  //负浮点数
/^(-?d+)(.d+)?$/  //浮点数