如何验证jquery中的钱

San*_*osh 8 validation jquery

如何在jquery中验证金钱,我可以输入的最大金额是9999.99所以我的要求是:1.应该只允许数字和一个点2.max长度是7(包括点)3.前点最大长度是4 4.点最大长度为2之后

目前我的文本框只允许使用以下代码的数字和一个点

$('#txtpaymentamnt, #txttenderamt').on("keypress", function (e) {
    alert(e.which);
    if (e.which != 8 && e.which != 0 && ((e.which < 48 || e.which > 57) && e.which != 46)) {
        e.preventDefault();
    }
Run Code Online (Sandbox Code Playgroud)

Jam*_*ard 16

您可以使用正则表达式执行此操作: /^\d{0,4}(\.\d{0,2})?$/

编辑:

这是要求的小提琴

  • 如果输入的第一个字符无效,@ DeadPassive你提供的jsfiddle在输入框中输入undefined.我把它固定在这个小提琴里:http://jsfiddle.net/w0jekdL6/ (3认同)

Mon*_*oni 8

使用jQuery验证插件,您可以使用Jack的正则表达式(我还没有测试过)设置您自己的规则,如下所示:

jQuery.validator.addMethod(
    "money",
    function(value, element) {
        var isValidMoney = /^\d{0,4}(\.\d{0,2})?$/.test(value);
        return this.optional(element) || isValidMoney;
    },
    "Insert "
);
Run Code Online (Sandbox Code Playgroud)

然后,您可以使用validate方法设置规则:

$("#myForm").validate({
rules: {
    nameOfMyInputField: {
        money: true,
    }
}
});
Run Code Online (Sandbox Code Playgroud)