禁用用户 0 作为输入框 jquery 中的第一个数字

发布于 2024-09-14 09:22:58 字数 163 浏览 6 评论 0原文

我有一个输入框:

<input class="longboxsmall" type="text" name="number" value=""/>

我想禁止数字 0 作为在框中输入的第一个数字,我该怎么做?我可以使用Jquery吗?

I have an input box:

<input class="longboxsmall" type="text" name="number" value=""/>

And I want to disallow the number 0 being the first number entered in the box how can I do this??? Can I use Jquery??

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(5

紫罗兰の梦幻 2024-09-21 09:22:58
$(".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
谢谢@Simen Echholt。


说明:

$(".longboxsmall").keyup

Jquery 获取具有 longboxsmall 类的每个元素,并准备好在 onkeyup 事件上调用函数。

var value = $(this).val();
value = value.replace(/^(0*)/,"");
$(this).val(value);

此函数使用正则表达式替换值的 begin (^) 中的每个 0

$(".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=""/>

Try in jsfiddle.


IT's good to intercept another events, like blur, change, focusout, etc.
See jquery.
Tks @Simen Echholt.


Explanation:

$(".longboxsmall").keyup

Jquery take every element with class longboxsmall and are ready to call a function on onkeyup event.

var value = $(this).val();
value = value.replace(/^(0*)/,"");
$(this).val(value);

This function uses a regex to replace every 0 in begin (^) of value.

乱世争霸 2024-09-21 09:22:58

当然。使用带有合适正则表达式的输入过滤器插件之一(例如 this)。

Of course. Use one of input filter plugins (like this) with suitable regexp.

缱绻入梦 2024-09-21 09:22:58

为了不看到输入中的 0 然后将其删除,您可以使用 keypress:

$('.longboxsmall').on('keypress', function(e) {
if (!$(this).val() && e.which == 48)
返回假;
});

In order not to see the 0 in the input and then remove it you can use keypress:

$('.longboxsmall').on('keypress', function(e) {
if (!$(this).val() && e.which == 48)
return false;
});

一花一树开 2024-09-21 09:22:58

最好的方法是防止用户在输入时在第一个位置输入 0。我们可以通过使用 keyup 事件来实现这一点。这样我们就可以避免很多类似的情况。

  1. 最终用户首先输入 123,然后在其中添加 0,例如 0123。
  2. 它可以防止像 0123 这样的复制粘贴。

      $(document).on('keyup','#TextBoxID', function(event){
                    if($(this).val().match(/^0/)){
                      $(this).val('');
                      返回假;
                  }
                }); 

best way is prevent typing 0 in the first position while user is typing. we can achieve this by to use keyup event. by that we will avoid many case's like.

  1. end user first type say 123 and they add 0 in that like 0123.
  2. its prevent copy paste like 0123.

      $(document).on('keyup','#TextBoxID', function(event){
                    if($(this).val().match(/^0/)){
                      $(this).val('');
                      return false;
                  }
                }); 
寒尘 2024-09-21 09:22:58
$(".longboxsmall").keyup(function(){
    var value = $(this).val();
    value = value.replace(/[^(1*)]+|[^(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=""/>

$(".longboxsmall").keyup(function(){
    var value = $(this).val();
    value = value.replace(/[^(1*)]+|[^(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=""/>

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文