我想验证 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);
}
});
如有任何建议,我们将不胜感激。
已修复: 这是我的代码:
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);
}
});
非常感谢。