gpt4 book ai didi

javascript - 如何完全验证 JQuery 中的十进制值?

转载 作者:行者123 更新时间:2023-11-29 19:23:37 25 4
gpt4 key购买 nike

如何使用 Jquery 验证 Decimal 值中的以下值?

我已经创建了基本的 fiddle ,我可以在其中验证数字。

我不允许用户输入除数字、点 (.) 或逗号 (,)(可互换)、退格键以外的任何内容

HTML

<input type="text" class="myTexbox" />

JQUERY

$(document).ready(function () {
$('.myTexbox').keypress(function (event) {
return isDecimalNumber(event, this)
});
});

function isDecimalNumber(eve, element) {
var charCode = (eve.which) ? eve.which : event.keyCode
if (
(charCode != 8) //For Backspace Active
&&
(charCode != 44 || $(element).val().indexOf(',') != -1)
//For comma
&&
(charCode != 46 || $(element).val().indexOf('.') != -1) && (charCode < 48 || charCode > 57))

return false;
return true;
}

完整的 fiddle :https://jsfiddle.net/s2t8fgn3/

能否请您帮助我实现用户只能在 .或 ,仅像 123.02 一样,逗号或点一旦插入就不应重复。

  • 必需:应该在 IE 10 + 中工作

更新:我们还需要复制粘贴到里面。那么如何管理数据是否为正确的十进制以及如何允许 CTRL+V 但不允许 V。

最佳答案

我会添加正则表达式检查

$(element).val().toString().match("\\.[0-9]{2,}$")

参见 https://jsfiddle.net/2fpcg0ee/

更新:比较前后值的不同方法

$(document).ready(function() {
var oldVal = '';
$('.myTexbox').keypress(function (event) {
if (this.value.match("^[0-9]*[.,]?[0-9]{0,2}$"))
oldVal = this.value;
});
$('.myTexbox').keyup(function (event) {
if (!this.value.match("^[0-9]*[.,]?[0-9]{0,2}$")) {
$('.myTexbox').val(oldVal);
}
});
});

参见 https://jsfiddle.net/2fpcg0ee/4/

关于javascript - 如何完全验证 JQuery 中的十进制值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31941496/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com