仅允许整数编号不以零onInput事件开头的函数

时间:2017-07-26 14:54:39

标签: javascript jquery angular typescript

我试图创建一个只允许任意数字位数但不以0开头的函数,但这个验证不能正常工作,因为当我想粘贴并放下输入时,它第一次失败,但下次有效!

jQuery(document).on('input', '.validatenumber', function () {
  let start = this.selectionStart, end = this.selectionEnd;
  let oldtxt = $(this);
  let find = /[^0-9]/g;
  if (oldtxt.val().match(find)) {
    oldtxt.val(oldtxt.val().replace(find, ''));
    this.setSelectionRange(start - 1, end - 1);
  }
  else {
    if (oldtxt.val() < 1) {
      oldtxt.val(oldtxt.val().replace(oldtxt.val(), ''));
    } else {
     oldtxt.val(oldtxt.val() / 1);
      this.setSelectionRange(start, end);
   }
  }
});

为什么只有当我输入作品时才会粘贴或掉落?

1 个答案:

答案 0 :(得分:2)

您可以使用此RegEx

^[1-9][0-9]*$

有关说明,请查看此图片

enter image description here