0

我将以下函数附加到文本框的 onkeypress 事件。它只允许在小数点后一个整数(例如:允许.2,1.2,12.3,不允许2.34,.24,..,2..3,)和整数输入到文本框中。我想防止粘贴字母特殊字符等使用以下代码限制输入到文本框:只允许数字和小数点,但我不知道要避免粘贴到文本框预防

但是,用户仍然可以将无效文本粘贴到其中。阻止这种情况的最佳方法是什么?

onkeypress="return isNumberKey(this,event);"
function isNumberKey(obj,evt) { 
     var charCode = (evt.charCode) ? evt.which : event.keyCode
     if (charCode > 31 && (charCode < 48 || charCode > 57) && charCode != 46) 
        if (window.event) //IE
        {
        window.event.returnValue = false;
        }
        else //Firefox
        {
        return false; // <-- What should I write here instead
        }
     else { 
     var input = obj.value;//alert(input);
     var len = obj.value.length; //  alert(len);
     var index = obj.value.indexOf('.'); // alert(index);
         if (index > 0 && charCode == 46) { 
            if (window.event)
            {
            window.event.returnValue = false;
            }
        else
        {
        return false;
        }
     } 
     if (index >0 || index==0) { 
         var CharAfterdot = (len + 1) - index;  
         if (CharAfterdot > 2) { 
            if (window.event)
            {
            window.event.returnValue = false;
            }
            else    
            {
            return false;
            }
         } 
    }
    if (charCode == 46 && input.split('.').length >1) {
    if (window.event) 
        {
        window.event.returnValue = false;
        }
        else
        {
        return false; 
        }
    }`enter code here`

     } 
     return true; 
  } 
4

0 回答 0