JavaScript中可以使用正则表达式"^(-?//d+)(//.//d+)?$"来判断是否是浮点数,判断前我们可以使用正则表达式/^[0-9]+.?[0-9]*$/来判断是否是数字。
判断是否浮点数:function checkRate(input) {
var re = /^[0-9]+.?[0-9]*$/; //判断字符串是否为数字
//判断正整数 /^[1-9]+[0-9]*]*$/
if (!re.test(input.rate.value)) {
alert("请输入数字(例:0.02)");
input.rate.focus();
return false;
}
}
function BASEisNotFloat(theFloat) {
//判断是否为浮点数
len=theFloat.length;
dotNum=0;
if (len==0)
return true;
for(var i=0;i
oneNum=theFloat.substring(i,i+1);
if (oneNum==".")
dotNum++;
if ( ((oneNum"9") && oneNum!=".") || dotNum>1)
return true; }
if (len>1 && theFloat.substring(0,1)=="0"){
if (theFloat.substring(1,2)!=".")
return true; }
return false;
}
下面列出了一些判断数值类型的正则表达式"^//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+)?$" //浮点数