禁用在第一个字符位置键入0(零)

时间:2012-02-02 03:04:25

标签: jquery jquery-plugins

我正在使用Jquery数字插件,只允许在输入中输入数值

$("#tbQuan").numeric();

除了这个插件正在做什么之外,我需要在第一个字符位置禁用typyng'0'(零)。

任何帮助都将不胜感激。

5 个答案:

答案 0 :(得分:8)

试试这个。

$('input').keypress(function(e){ 
   if (this.value.length == 0 && e.which == 48 ){
      return false;
   }
});

<强> Demo

答案 1 :(得分:1)

这样的事情应该让你开始:

$("#tbQuan").numeric().keyup(function (e) {
    var val = $(this).val();
    while (val.substring(0, 1) === '0') {   //First character is a '0'.
        val = val.substring(1);             //Trim the leading '0'
    }
    $(this).val(val);   //update input with new value
});

答案 2 :(得分:1)

用于keyUp事件

pom.xml

});

DEMO

  • 确保添加48和96事件以支持数字键盘0和键盘0。
  • 以这种方式添加,用户可以知道不允许前导零

答案 3 :(得分:0)

我首先尝试这样的事情:

$('input').keyup(function(){ 
   if ( $(this).val().length === 1 && $(this).val() === 0 ){
      alert('No leading zeroes!');
   }
);

答案 4 :(得分:0)

如果掩盖了文本框,那么:::

$('#numeric').keyup(function(event) {

    var currentVal = $(this).val();

    if (currentVal.substring(0, 1) === '0' && (event.which == 48 || event.which == 96)) {

      currentVal=currentVal.substring(1);
    }
    $(this).val(currentVal);
  });

或*******************************

$("#numeric").keyup("input propertychange paste", function (e) {
var val = $(this).val()
var reg = /^0/gi;
if (val.match(reg)) {
    $(this).val(val.replace(reg, ""));
    alert("Please phone number first character bla blaa not 0!");
    $(this).mask("999 999-9999");

}

});

First Sample DEMO :

Second Sample DEMO :