jQuery 仅验证前导零价格数字字符串

问题描述 投票:0回答:1

我想验证 html 形式的价格字段,不允许使用 0350、024879 等前导零,并且 jQuery 将在键入时发出警告。在价格字段中输入前导零数字时,jQuery 应该执行以下操作:

a) 弹出警告消息,例如“不允许使用零前导数字”。请指正!”

b) 从价格字段中清除或删除无效价格,有/无延迟

c) 用于验证零前导数字字符串的正确正则表达式是什么?例如,不接受输入09、038等。但输入 0u, 0&(非数字字符)是可以接受的。

这是我的代码:

HTML:

    <input type="text" id="price" name="price"> 

jQuery:

    jQuery('#price').on("keyup", function() {
      var price = $(this).val();
      var partern = /^(?:[1-9][0-9]*|0)$/;
      var valid = partern.test(price);

      if (!valid) {
        alert('Invalid price. Please input numerical characters');
        setTimeout(function (e) {
            $this.val(null);
        },500);
      }
    });

如有任何建议,我们将不胜感激。

jquery price
1个回答
0
投票

已修复: 这是我的代码:

    HTML:
    <input type="text" id="price" name="price"> 

    jQuery:
    jQuery('#price').on("keyup", function() {
      var price = $(this).val();
      var partern = /^(?:[1-9][0-9]*|0)$/;
      var valid = partern.test(price);

      if (!valid) {
        alert('Invalid price. Please input numerical characters');
       // setTimeout(function (e) {
            ($this).val(null);    // does not work with setTimeout()
       // },500);
      }
    });
    
    

非常感谢。

© www.soinside.com 2019 - 2024. All rights reserved.