function numEntry(opts) {
var args = {
dom: 'input',
int_bit: 8,
float_bit: 2
};
$.extend(args, opts);
$(document).off('input propertychange change paste blur', args.dom);
$(document).on('input propertychange change paste blur', args.dom, function() {
var o = $(this);
var d = o.val();
var n = d.length;
var s = 'var r = \/^([1-9]\\d{0,' + args.int_bit + '}|0)$\/';
if (args.float_bit > 0) {
s = 'var r = \/^([1-9]\\d{0,' + args.int_bit + '}|0)([.]?|(\\.\\d{1,' + args.float_bit + '})?)$\/';
}
eval(s);
for (var i = 0; i < n; i++) {
if (!r.test(d)) {
d = d.substr(0, d.length - 1);
o.val(d);
}
}
});
}
|