1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
| /**
| * Validates currencies with any given symbols by @jameslouiz
| * Symbols can be optional or required. Symbols required by default
| *
| * Usage examples:
| * currency: ["£", false] - Use false for soft currency validation
| * currency: ["$", false]
| * currency: ["RM", false] - also works with text based symbols such as "RM" - Malaysia Ringgit etc
| *
| * <input class="currencyInput" name="currencyInput">
| *
| * Soft symbol checking
| * currencyInput: {
| * currency: ["$", false]
| * }
| *
| * Strict symbol checking (default)
| * currencyInput: {
| * currency: "$"
| * //OR
| * currency: ["$", true]
| * }
| *
| * Multiple Symbols
| * currencyInput: {
| * currency: "$,£,¢"
| * }
| */
| $.validator.addMethod("currency", function(value, element, param) {
| var isParamString = typeof param === "string",
| symbol = isParamString ? param : param[0],
| soft = isParamString ? true : param[1],
| regex;
|
| symbol = symbol.replace(/,/g, "");
| symbol = soft ? symbol + "]" : symbol + "]?";
| regex = "^[" + symbol + "([1-9]{1}[0-9]{0,2}(\\,[0-9]{3})*(\\.[0-9]{0,2})?|[1-9]{1}[0-9]{0,}(\\.[0-9]{0,2})?|0(\\.[0-9]{0,2})?|(\\.[0-9]{1,2})?)$";
| regex = new RegExp(regex);
| return this.optional(element) || regex.test(value);
|
| }, "Please specify a valid currency");
|
|