我有一个输入框:
<input class="longboxsmall" type="text" name="number" value=""/>
我想不允许数字0是在框中输入的第一个数字我该怎么办?我可以使用Jquery吗?
答案 0 :(得分:3)
$(".longboxsmall").keyup(function(){
var value = $(this).val();
value = value.replace(/^(0*)/,"");
$(this).val(value);
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input class="longboxsmall" type="text" name="number" value=""/>
<强> JS 强>
$(".longboxsmall").keyup(function(){
var value = $(this).val();
value = value.replace(/^(0*)/,"");
$(this).val(value);
});
<强> HTML 强>
<input class="longboxsmall" type="text" name="number" value=""/>
试试jsfiddle。
拦截其他事件很有用,比如模糊,变化,聚焦等。 见jquery。 Tks @Simen Echholt。
说明:
$(".longboxsmall").keyup
Jquery使用类longboxsmall
获取每个元素,并准备在onkeyup事件上调用函数。
var value = $(this).val();
value = value.replace(/^(0*)/,"");
$(this).val(value);
此函数使用正则表达式替换值的开头(0
)中的每个^
。
答案 1 :(得分:0)
当然。使用其中一个输入过滤器插件(如this)和正确的regexp。
答案 2 :(得分:0)
为了不在输入中看到0然后将其删除,您可以使用按键:
$('.longboxsmall').on('keypress', function(e) {
if (!$(this).val() && e.which == 48)
return false;
});
答案 3 :(得分:0)
最好的方法是防止在用户输入时在第一位置输入0。我们可以通过使用keyup事件来实现。这样一来,我们将避免出现很多情况。
它可以防止复制粘贴,例如0123。
$(document).on('keyup','#TextBoxID', function(event){
if($(this).val().match(/^0/)){
$(this).val('');
return false;
}
});
答案 4 :(得分:0)
...
"scripts": {
...
"preci": "rm -fr node_modules",
"ci": "yarn install --frozen-lockfile"
},
...
$(".longboxsmall").keyup(function(){
var value = $(this).val();
value = value.replace(/[^(1*)]+|[^(0*)]+/,"");
$(this).val(value);
});