我希望JavaScript验证数字类型,并仅在调用函数之前选择整数



Degree <input type="number" name="Degree" min="0" step="1"/ size="4" id="Degreelat">

希望此程度值仅占据正整数,而在打电话给我的javaScript之前不接受小数值。

仅使用jQuery进行正整数

//for allow only positive integers
$(document).ready(function(){
        $("#returnRetailQuantity").keydown(function (event) {
            if (event.shiftKey) {
                event.preventDefault();
            }
            if (event.keyCode == 46 || event.keyCode == 8) {
            }
            else {
                if (event.keyCode < 95) {
                    if (event.keyCode < 48 || event.keyCode > 57) {
                        event.preventDefault();
                    }
                }
                else {
                    if (event.keyCode < 96 || event.keyCode > 105) {
                        event.preventDefault();
                    }
                }
            }
        });
});

<input type="number" name="Degree" min="0" step="1"/ size="4" id="Degreelat" onkeydown="return ( event.ctrlKey || event.altKey 
   || (47<event.keyCode && event.keyCode<58 && event.shiftKey==false) 
   || (95<event.keyCode && event.keyCode<106)
   || (event.keyCode==8) || (event.keyCode==9) 
   || (event.keyCode>34 && event.keyCode<40) 
   || (event.keyCode==46) )">

您可以通过验证&amp;禁用各种导航和热键...例如逗号,点,字母...

一个简单的解决方案是白色列表数字密钥代码(使用jQuery(:

$(document).ready(function() {
$("#Deareelat").keydown(function (e) {
    if ((e.shiftKey || (e.keyCode < 48 || e.keyCode > 57)) && (e.keyCode < 96 || e.keyCode > 105)) {
        e.preventDefault();
    }
});
});

https://www.cambiaresearch.com/articles/15/javascript-char-codes-key-codes

验证输入是您的JavaScript函数的责任。您要么有一个明确调用此功能的按钮,要么一个触发该功能的OnBlur或Onchange事件,让我们看一下功能本身:

function checkvalue(){
  var value=document.getElementById('Degreelat').value;
  var val=parseInt(value,10);
  if (val!=value) return false;
  if (val<=0) return false;   
}

如果要检查多个字段,则可以抽象一个辅助功能并使用它来指示哪个字段无效:

function valint(id){
  var value=document.getElementById(id).value;
  if (!parseInt(value,10)!=value) {
    document.getElementById(id).style.background='red';
    return false;
  }
  document.getElementById(id).style.background='transparent';
  return true;
}
function checkvalues(){
  var valid=true;
  if (!valint('Degreelat')) valid=false;
  if (!valint('Degreelng')) valid=false;
  return valid;
}

最新更新