JavaScript 判断指定字符串是否为有效数字

  这样的check以前已经碰到很多了,但每次都是解决了就完了,没有记录下来,等下次碰到时又要花很多的时间去写。东西是需要积累的,现在特记录下来,希望这样的工作不再重复太多,也与大家一起分享。

  

复制代码 代码如下:

  <!---

  ================================================================================

  机能概要  :check指定字符串是否为有效数字

  作成者   :Peter Jin

  作成日   :2010-04-23

  ================================================================================

  --->

  <cfoutput>

  <script type="text/javascript">

  <!--

  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;

  }

  function BASEtrim(str)

  {

  //去掉空格

  lIdx=0;rIdx=str.length;

  if (BASEtrim.arguments.length==2)

  act=BASEtrim.arguments[1].toLowerCase();

  else

  act="all";

  for(var i=0;i<str.length;i++){

  thelStr=str.substring(lIdx,lIdx+1);

  therStr=str.substring(rIdx,rIdx-1);

  if ((act=="all" || act=="left") && thelStr==" "){

  lIdx++;

  }

  if ((act=="all" || act=="right") && therStr==" "){

  rIdx--;

  }

  }

  str=str.slice(lIdx,rIdx);

  return str;

  }

  // -->

  </script>

  </cfoutput>