Jquery 数字字段的最大值验证
Jquery Max Value Validation for Number Field
我正在从事响应式 Html 设计。有一些数字字段,他们有一些要求。
- 控制只取数
- 小数点后只需要两位数
- 最大值不大于
9999999999
- 最大长度为 9 以防浮点值 (
999999.99
)
- 所有验证都在按键或向上键时进行
我实现了这段代码,它适用于台式机和其他移动设备,但不适用于任何三星标签。如果我使用 input type="number"
,则 maxlength
或 max
值在 Samsung 选项卡中不起作用。请帮助我。
代码
$("#txtnumber").keydown(function (event) {
if (event.shiftKey == true) {
event.preventDefault();
}
if ((event.keyCode >= 48 && event.keyCode <= 57) || (event.keyCode >= 96 && event.keyCode <= 105) || event.keyCode == 8 || event.keyCode == 9 || event.keyCode == 37 || event.keyCode == 39 || event.keyCode == 46 || event.keyCode == 190 || event.keyCode == 110) {
} else {
event.preventDefault();
}
if (($(this).val().indexOf('.') !== -1 && event.keyCode == 190) || $(this).val().indexOf('.') !== -1 && event.keyCode == 110)//Allow only one time decimal to input
event.preventDefault();
});
$("#txtnumber").keyup(function () {
var number = ($(this).val().split('.'));
if (number[1].length > 2) {
var FNumber = parseFloat($("#txtnumber").val());
$("#txtnumber").val(FNumber.toFixed(2));
}
});
这里是一个使用 jquery、
的例子
$("#txtnumber").on('keyup keydown', function () {
if (isNaN(($(this).val()))) {
$(this).val($(this).val().substring(0, ($(this).val().length - 1)));
}
if ($(this).val().length > 10 && $(this).val().indexOf('.') == -1) {
$(this).val($(this).val().substring(0, 10));
}
if ($(this).val().indexOf('.') !== -1 && $(this).val().length > 9) {
$(this).val($(this).val().substring(0, 9));
}
if (($(this).val().indexOf('.') !== -1)) {
var decimal = $(this).val().split('.');
if (decimal[1].length > 2) {
$(this).val($(this).val().substring(0, ($(this).val().length - 1)));
}
}
});
我正在从事响应式 Html 设计。有一些数字字段,他们有一些要求。
- 控制只取数
- 小数点后只需要两位数
- 最大值不大于
9999999999
- 最大长度为 9 以防浮点值 (
999999.99
) - 所有验证都在按键或向上键时进行
我实现了这段代码,它适用于台式机和其他移动设备,但不适用于任何三星标签。如果我使用 input type="number"
,则 maxlength
或 max
值在 Samsung 选项卡中不起作用。请帮助我。
代码
$("#txtnumber").keydown(function (event) {
if (event.shiftKey == true) {
event.preventDefault();
}
if ((event.keyCode >= 48 && event.keyCode <= 57) || (event.keyCode >= 96 && event.keyCode <= 105) || event.keyCode == 8 || event.keyCode == 9 || event.keyCode == 37 || event.keyCode == 39 || event.keyCode == 46 || event.keyCode == 190 || event.keyCode == 110) {
} else {
event.preventDefault();
}
if (($(this).val().indexOf('.') !== -1 && event.keyCode == 190) || $(this).val().indexOf('.') !== -1 && event.keyCode == 110)//Allow only one time decimal to input
event.preventDefault();
});
$("#txtnumber").keyup(function () {
var number = ($(this).val().split('.'));
if (number[1].length > 2) {
var FNumber = parseFloat($("#txtnumber").val());
$("#txtnumber").val(FNumber.toFixed(2));
}
});
这里是一个使用 jquery、
的例子 $("#txtnumber").on('keyup keydown', function () {
if (isNaN(($(this).val()))) {
$(this).val($(this).val().substring(0, ($(this).val().length - 1)));
}
if ($(this).val().length > 10 && $(this).val().indexOf('.') == -1) {
$(this).val($(this).val().substring(0, 10));
}
if ($(this).val().indexOf('.') !== -1 && $(this).val().length > 9) {
$(this).val($(this).val().substring(0, 9));
}
if (($(this).val().indexOf('.') !== -1)) {
var decimal = $(this).val().split('.');
if (decimal[1].length > 2) {
$(this).val($(this).val().substring(0, ($(this).val().length - 1)));
}
}
});