如何将此数字(普通数字格式)js代码更改为仅接受数字,
,意味着不接受字词或字符(例如:-
,=
, +
,!
和...
)只接受号码和,
。怎么回事?
$(document).delegate('input.numeric:text', 'keyup', function () {
$val = $(this).val().match(/[0-9]/g).reverse().join("").match(/[0-9]{1,3}/g).join(",").match(/./g).reverse().join("");
$(this).val($val)
});
答案 0 :(得分:0)
我最近写了这样的东西:
var oldnumber='';
var $ctrl=$('input[name=passport_number]');
$ctrl.focusout(function () {
if (isFinite($ctrl.val()) || $ctrl.val()==',') {
oldnumber=$ctrl.val();
} else {
$ctrl.attr('value',oldnumber);
}
});
基本上,如果您输入有效答案,则会记住该值。如果你写的不是数字或',',那么该字段将被设置回其先前的有效值。
如果你问我,我的解决方案很短,非常干净。它会检查它是否为数字,如果不是,则会拒绝您的输入。
修改强>
如果您想在键入时进行此操作,请尝试以下操作:
$('input').bind('keyup change',function(){
var v = parseInt($(this).val());
$(this).val((isNaN(v) && v!=',')?'':v);
});
希望有所帮助:)