html 数字首位0显示,如何使用jQuery在HTML输入框中仅允许数字(0-9)?

我正在创建一个网页,其中有一个输入文本字段,我只想在其中输入数字字符,例如(0,1,2,3,4,5 ... 9)0-9。

我该如何使用jQuery?

#1楼

我认为这会帮助每个人

$('input.valid-number').bind('keypress', function(e) {

return ( e.which!=8 && e.which!=0 && (e.which<48 || e.which>57)) ? false : true ;

})

#2楼

这是我前段时间创建的快速解决方案。 您可以在我的文章中阅读有关它的更多信息:

$("#textfield").bind("keyup paste", function(){

setTimeout(jQuery.proxy(function() {

this.val(this.val().replace(/[^0-9]/g, ''));

}, $(this)), 0);

});

#3楼

这是使用jQuery UI Widget工厂的答案。 您可以轻松自定义允许使用哪些字符。

$('input').numberOnly({

valid: "0123456789+-.$,"

});

那将允许数字,数字符号和美元数量。

$.widget('themex.numberOnly', {

options: {

valid : "0123456789",

allow : [46,8,9,27,13,35,39],

ctrl : [65],

alt : [],

extra : []

},

_create: function() {

var self = this;

self.element.keypress(function(event){

if(self._codeInArray(event,self.options.allow) || self._codeInArray(event,self.options.extra))

{

return;

}

if(event.ctrlKey && self._codeInArray(event,self.options.ctrl))

{

return;

}

if(event.altKey && self._codeInArray(event,self.options.alt))

{

return;

}

if(!event.shiftKey && !event.altKey && !event.ctrlKey)

{

if(self.options.valid.indexOf(String.fromCharCode(event.keyCode)) != -1)

{

return;

}

}

event.preventDefault();

});

},

_codeInArray : function(event,codes) {

for(code in codes)

{

if(event.keyCode == codes[code])

{

return true;

}

}

return false;

}

});

#4楼

需要确保您也使用了数字键盘和Tab键

// Allow only backspace and delete

if (event.keyCode == 46 || event.keyCode == 8 || event.keyCode == 9) {

// let it happen, don't do anything

}

else {

// Ensure that it is a number and stop the keypress

if ((event.keyCode >= 48 && event.keyCode <= 57) || (event.keyCode >= 96 && event.keyCode <= 105)) {

}

else {

event.preventDefault();

}

}

#5楼

这似乎是坚不可摧的。

// Prevent NULL input and replace text.

$(document).on('change', 'input[type="number"]', function (event) {

this.value = this.value.replace(/[^0-9\.]+/g, '');

if (this.value < 1) this.value = 0;

});

// Block non-numeric chars.

$(document).on('keypress', 'input[type="number"]', function (event) {

return (((event.which > 47) && (event.which < 58)) || (event.which == 13));

});

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值