0

テキストボックスの onkeypress イベントに次の関数を追加しました。小数点以下の 1 つの整数のみを許可し (例: .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