js判断是否为数字, 是否为整数, 是否为浮点数


正则表达式方法    【笔者测试可用】
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 BASEisNotNum(theNum)    
{    
//判断是否为数字    
  if (BASEtrim(theNum)=="")    
  return true;    
  for(var i=0;i<theNum.length;i++){    
     oneNum=theNum.substring(i,i+1);    
     if (oneNum<"0" || oneNum>"9")    
     return true;    
    }    
   return false;    
}    
  
function BASEisNotInt(theInt)    
{    
//判断是否为整数    
    theInt=BASEtrim(theInt);    
if ((theInt.length>1 && theInt.substring(0,1)=="0") || BASEisNotNum(theInt)){    
  return true;    
  }    
  return false;    
 }    
  
function BASEisNotFloat(theFloat)    
{    
//判断是否为浮点数    
  len=theFloat.length;    
  dotNum=0;    
  if (len==0)    
  return true;    
  for(var i=0;i<len;i++){    
    oneNum=theFloat.substring(i,i+1);    
    if (oneNum==".")    
      dotNum++;    
    if ( ((oneNum<"0" || oneNum>"9") && oneNum!=".") || dotNum>1)    
      return true;    
    }    
    if (len>1 && theFloat.substring(0,1)=="0"){    
    if (theFloat.substring(1,2)!=".")    
      return true;    
    }    
     return false;    
  
isNaN 函数    
isNaN(expression:Object) : Boolean    
  
计算参数,如果值为 NaN(非数字),则返回 true。此函数可用于检查一个数学表达式是否成功地计算为一个数字。    
  
可用性:Flash Player 5;ActionScript 1.0    
  
参数    
expression:Object - 要计算的布尔值、变量或其它表达式。    
  
返回    
Boolean - 一个布尔值。    
  
例子:    
       
if(isNaN(document.login.imgcode.value)){    
   alert('验证码必须是数字!')    
   document.login.imgcode.focus();    
   return false;    
}   
 
 
正则表达式方法
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 BASEisNotNum(theNum)
{
//判断是否为数字
if (BASEtrim(theNum)=="")
return true;
for(var i=0;i<theNum.length;i++){
oneNum=theNum.substring(i,i+1);
if (oneNum<"0" || oneNum>"9")
return true;
}
return false;
}
function BASEisNotInt(theInt)
{
//判断是否为整数
theInt=BASEtrim(theInt);
if ((theInt.length>1 && theInt.substring(0,1)=="0") || BASEisNotNum(theInt)){
return true;
}
return false;
}
function BASEisNotFloat(theFloat)
{
//判断是否为浮点数
len=theFloat.length;
dotNum=0;
if (len==0)
return true;
for(var i=0;i<len;i++){
oneNum=theFloat.substring(i,i+1);
if (oneNum==".")
dotNum++;
if ( ((oneNum<"0" || oneNum>"9") && oneNum!=".") || dotNum>1)
return true;
}
if (len>1 && theFloat.substring(0,1)=="0"){
if (theFloat.substring(1,2)!=".")
return true;
}
return false;

原文地址:https://www.cnblogs.com/smallmuda/p/2441370.html