Jquery onBlur从左边的零填充到一个数字

时间:2016-06-22 17:31:51

标签: javascript jquery html

我如何使用jquery从左边填充零到一个数字来完成十一个数字,以防它还没有十一个数字?

我怎样才能找到我想要应用十一个零的唯一一个元素? $(#myid)?而不是输入?

$(document).on('blur keyup', 'input', function() {
    padElevenZeros( $(this) );
});

2 个答案:

答案 0 :(得分:4)

尝试这样做

function addLeadingZeros(sNum, len) {
    len -= sNum.length;
    while (len--) sNum = '0' + sNum;
    return sNum;
}

$(document).on('blur keyup', '#myid', function() {
    addLeadingZeros($(this).val(),11);
});

答案 1 :(得分:1)

您是否希望调用该函数仅在#myID输入的模糊和键盘上添加零?或者只应用函数向#myID输入添加零,但是要在所有模糊和键盘事件上执行此操作?

    // fires on all blur and keyup events
    $(document).on('blur keyup', 'input', function() {
        $('#myID').addLeadingZeros(11);
    });

    // fires on blur and keyup events for #myID
    $(document).on('blur keyup', '#myID', function() {
        $(this).addLeadingZeros(11);
    });

    $.fn.addLeadingZeros = function(length) {
      for(var el of this){
        _value = el.value.replace(/^0+/,'');
        length = length - _value.length;
        if(length > 0){
          while (length--) _value = '0' + _value;
        }
        el.value = _value;
      }
    };