Плагин проверки 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
....