<script Language="JavaScript">
function check(str1){
if(isNaN(parseFloat(str1))||(str1.split('.').length>2)){
alert("no");
}
else{
alert("ok");
}
}
</SCRIPT>
<form name="myform">
<BODY>
<input type=text name=remLen id=remLen onblur="check(this.value)" > 
</BODY>
</form>

解决方案 »

  1.   

    楼上的
    这样不好
    你有没有发现  假如  str1是.0  或者1.  的话他isNaN(parseFloat(str1))照样是false
      

  2.   

    <input onkeyup="if(isNaN(value))execCommand(''undo'')" onafterpaste="if(isNaN(value))execCommand(''undo'')">
    <input name=txt1 onchange="if(/\D/.test(this.value)){alert(''只能输入数字'');this.value='''';}">
      

  3.   

    我认为上面写的可以用啊,他是在说.的个数大于2的时候也就是说不只一个.的时候是不可以的。你说的.0和1.都是一个.所以没有问题的。
    我不知道你对isNan函数理解没有。他是一个查看是否不是一个数字的,字面意思是:is Not a Number(isNaN).你上面使用这个来判断不是很好,其实用正则比较简单也比较正确些。<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
    <HTML>
     <HEAD>
      <TITLE> New Document </TITLE>
     </HEAD> <BODY>
      <SCRIPT LANGUAGE="JavaScript">
      <!--
    var patten = /^(\d)+\.(\d)+$/; alert(patten.exec("1.2"));
    alert(patten.exec("1."));
      //-->
      </SCRIPT>
     </BODY>
    </HTML>
    可以看看我写的例子。
      

  4.   

    我认为 1.  不是有效数字  所以(isNoN(1.) 应该为true
    可是现在是false啊
      

  5.   

    好了  就这样
    我使用了上面仁兄的方法
    一般情况下isNaN(parseFloat(0.0.0|0.|.0))'s value is false.So i add the code as below:
     if(value.Trim().indexOf('.') != -1 )
                        {
                           if(value.Trim().split('.').length > 2 )
                            {
                                 source.innerText = "Invalid Format for Numeric.";
                                 arguments.IsValid = false;
                                 return;
                            }    
                            else 
                            {
                                 var input = value.Trim().split('.');
                                 if(input[0].Trim()== "" || input[1].Trim()== "")
                                 {
                                      source.innerText = "Invalid Format for Numeric.";
                                      arguments.IsValid = false;
                                      return;
                                 }                             
                            }               
                        }