This question already has answers here:
Regex accept numeric only. First character can't be 0
(4个答案)
2年前关闭。
我正在尝试制作一个仅允许具有任意数字位数且不以0开头的数字的函数,但是此验证无法正常工作,因为当我要粘贴和放置输入时,它第一次失败但是下一次,行得通!
为什么仅当我输入有效但粘贴或放下却无效?
作为说明,请检查此图像
(4个答案)
2年前关闭。
我正在尝试制作一个仅允许具有任意数字位数且不以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);
}
}
});
为什么仅当我输入有效但粘贴或放下却无效?
最佳答案
您可以使用此RegEx
^[1-9][0-9]*$
作为说明,请检查此图像
07-28 03:13