L@_@K
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
 <HEAD>
  <TITLE> New Document </TITLE>
  <META NAME="Generator" CONTENT="EditPlus">
  <META NAME="Author" CONTENT="">
  <META NAME="Keywords" CONTENT="">
  <META NAME="Description" CONTENT="">
 </HEAD> <BODY>
  <SCRIPT LANGUAGE="JavaScript">
  <!--
    function clearNoNum(obj)
    {
        //先把非数字的都替换掉,除了数字和.
        obj.value = obj.value.replace(/[^\d.]/g,"");
//保证只有出现一个.而没有多个.
        obj.value = obj.value.replace(/\.{2,}/g,".");
        //必须保证第一个为数字而不是.
        obj.value = obj.value.replace(/^\./g,"");
        //保证.只出现一次,而不能出现两次以上
        obj.value = obj.value.replace(".","$#$").replace(/\./g,"").replace("$#$",".");
// 小数点后只能输入2位。
obj.value = obj.value.match(/^\d*(\.?\d{2})?/ig);
    }var obj = new Object();
obj.value = "a..12.0.13";
clearNoNum(obj);
alert(obj.value);
  //-->
  </SCRIPT>
 </BODY>
</HTML>

解决方案 »

  1.   

    2楼的代码只能用onblur检查,请问如果要输入的时候就检查怎么改? 即输入"."以后只能再输入2位数字。有人会吗?
      

  2.   

    L@_@K
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
    <HTML>
     <HEAD>
      <TITLE> New Document </TITLE>
      <META NAME="Generator" CONTENT="EditPlus">
      <META NAME="Author" CONTENT="">
      <META NAME="Keywords" CONTENT="">
      <META NAME="Description" CONTENT="">
     </HEAD> <BODY>
      <INPUT TYPE="text" id="txtInput" />
      <SCRIPT LANGUAGE="JavaScript">
      <!--
        function clearNoNum(obj)
        {
            //先把非数字的都替换掉,除了数字和.
            obj.value = obj.value.replace(/[^\d.]/g,"");
            //保证只有出现一个.而没有多个.
            obj.value = obj.value.replace(/\.{2,}/g,".");
            //必须保证第一个为数字而不是.
            obj.value = obj.value.replace(/^\./g,"");
            //保证.只出现一次,而不能出现两次以上
            obj.value = obj.value.replace(".","$#$").replace(/\./g,"").replace("$#$",".");
            // 小数点后只能输入2位。
            obj.value = obj.value.match(/^\d*\.?(\d{2})?/ig);
        }
    var oTxt = document.getElementById("txtInput");
    oTxt.onchange = function() {
    clearNoNum(this);
    };
    oTxt.onkeyup = function() {
    clearNoNum(this);
    };
    //var obj = new Object();
    //obj.value = "a..12.0.13";
    //clearNoNum(obj);
    //alert(obj.value);
      //-->
      </SCRIPT>
     </BODY>
    </HTML>
      

  3.   

    修正
    L@_@K
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
    <HTML>
     <HEAD>
      <TITLE> New Document </TITLE>
      <META NAME="Generator" CONTENT="EditPlus">
      <META NAME="Author" CONTENT="">
      <META NAME="Keywords" CONTENT="">
      <META NAME="Description" CONTENT="">
     </HEAD> <BODY>
      <INPUT TYPE="text" id="txtInput" />
      <SCRIPT LANGUAGE="JavaScript">
      <!--
        function clearNoNum(obj)
        {
            //先把非数字的都替换掉,除了数字和.
            obj.value = obj.value.replace(/[^\d.]/g,"");
            //保证只有出现一个.而没有多个.
            obj.value = obj.value.replace(/\.{2,}/g,".");
            //必须保证第一个为数字而不是.
            obj.value = obj.value.replace(/^\./g,"");
            //保证.只出现一次,而不能出现两次以上
            obj.value = obj.value.replace(".","$#$").replace(/\./g,"").replace("$#$",".");
            // 小数点后只能输入2位。
            obj.value = obj.value.match(/^\d*\.?(\d{0,2})?/ig);
        }
    var oTxt = document.getElementById("txtInput");
    oTxt.onchange = function() {
    clearNoNum(this);
    };
    oTxt.onkeyup = function() {
    clearNoNum(this);
    };
    //var obj = new Object();
    //obj.value = "a..12.0.13";
    //clearNoNum(obj);
    //alert(obj.value);
      //-->
      </SCRIPT>
     </BODY>
    </HTML>