Плагин проверки JQuery - валюта

Я пытаюсь выяснить, как проверить число в плагине jQuery validate как допустимую валюту США, максимум два знака после запятой, без запятых или знаков доллара (25000.00, 1.00 и т. Д.)

Я пытался это сделать https://gist.github.com/jonkemp/9094324, но, похоже, требуется знак доллара ($)

        jQuery.validator.addMethod("currency", function (value, element) {
      return this.optional(element)
        || /^\$(\d{1,3}(\,\d{3})*|(\d+))(\.\d{2})?$/.test(value);
    }, "Please specify a valid amount");

Я также попытался выполнить эту проверку клиентов переполнения стека, используя jQuery validate для полей валюты, но код проверки не будет проверять число с двумя нулями (например, 1,00)

jQuery.validator.addMethod("currency", function(value, element) {
    var isValidMoney = /^-?(?:\d+|\d{1,3}(?:\.\d{3})+)(?:,\d+)?$/.test(value);
            return this.optional(element) || isValidMoney;
        },
        "Must be monetary (0 or 0.00)"
    );

вот jsfiddle, который показывает эти проблемы http://jsfiddle.net/d4ywy0fu/

любая помощь приветствуется

1 ответ

Решение

Я пытаюсь выяснить, как проверить число в плагине jQuery validate как допустимую валюту США, максимум два знака после запятой, без запятых или знаков доллара (25000.00, 1.00 и т. Д.)

Просто включите additional-methods.js файл и использовать встроенный currency метод следующим образом...

currency: ["$", false] // dollar sign optional

currency: "$" // dollar sign required (default)

Примечание: запятые являются необязательными во всех случаях.

ДЕМО: http://jsfiddle.net/d4ywy0fu/2/


ПРИМЕЧАНИЕ. Ваш jsFiddle также содержит обработчик готовности DOM внутри другого обработчика готовности DOM. Хотя это не вредно, это совершенно лишнее.

$(function() {  // <- DOM Ready Handler

    $(document).ready(function() {  // <- DOM Ready Handler
        ....
Другие вопросы по тегам