function clearNoNum(obj) {
        //先把非数字的都替换掉,除了数字和.
        obj.value = obj.value.replace(/[^\d.,-]/g, "");
        //必须保证第一个为数字而不是.
        obj.value = obj.value.replace(/^\./g, "");
        //保证只有出现一个.而没有多个.
        obj.value = obj.value.replace(/\.{2,}/g, ".");
        //保证.只出现一次,而不能出现两次以上
        obj.value = obj.value.replace(".", "$#$").replace(/\./g, "").replace("$#$", ".");
    }如何修改上面函数,再加一个限制,小数点后面不能超过4位数

解决方案 »

  1.   


    function clearNoNum(obj) {
      //先把非数字的都替换掉,除了数字和.
      obj.value = obj.value.replace(/[^\d.,-]/g, "");
      //必须保证第一个为数字而不是.
      obj.value = obj.value.replace(/^\./g, "");
      //保证只有出现一个.而没有多个.
      obj.value = obj.value.replace(/\.{2,}/g, ".");
      //保证.只出现一次,而不能出现两次以上
      obj.value = obj.value.replace(".", "$#$").replace(/\./g, "").replace("$#$", ".");
      obj.value = obj.value.replace(/(\.\d{0,4})(\d*)$/,"$1");
    }