我有一个数字文本框,默认情况下,数字文本框允许使用Exponents和句点。 我该如何限制?
我能想到的一种方法是在输入事件中使用string.replace但是它没有按预期工作。以下是我的代码..
HTML
<input type='number' class='number'>
的JavaScript
$(".number").on('input', function () {
this.value = this.value.replace(/e|E|\./g, ''); // Remove e, E, and period(.)
if (this.value.length > 4) {
this.value = this.value.slice(0, 4);
}
});
当我输入字符串&#39; 2e&#39;在文本框中,如果运行上面的代码,则会删除整个输入。我只是想从输入字符串而不是整个输入中删除e,E或句点。
有没有办法实现这一目标。
回答BY nichel 就像魅力一样,现在我的问题是我如何在PASTE事件中限制它。?
答案 0 :(得分:0)
所以基本上你想只允许数字?然后通过键码和键限制键。去除粘贴上多余的字符
$(".number").keypress(function(e){
return e.keyCode>47&&e.keyCode<58;
}).paste(function(){
$(this).val($(this).val().replace(/\D/g,''));
})
由于您希望最大长度为4,因此只需添加max="9999"
:
<input type='number' class='number' max="9999">
答案 1 :(得分:0)