'jQuery Validate money field, accept spaces?
I have a custom validator for money fields, it accepts values like
12,00$
122.04$
12123123
Now, I want to make it accept theese values:
1 200$
1 200,22$
So accept spaces. And unfortunately, I'm not very good at regex.
Here's my custom validator:
$.validator.addMethod("money", function(value, element) {
return this.optional(element) || value.match(/^\$?(\d+(?:[\.\,]\d{1,2})?)\s?\$?$/);
}, "Not valid...");
Solution 1:[1]
You can use this regex:
^\$?(\d+(?:\s\d+)*(?:[\.\,]\d{1,2})?)\s?\$?$
I have only added (?:\s\d+)* to your regex to allow any number of digits with spaces after an initial number. Mind you do not have to escape . and , inside the character class [\.\,] (it is equal to [.,]).
Here is a demo.
Try
$.validator.addMethod("money", function(value, element) {
return this.optional(element) || value.match(/^\$?(\d+(?:\s\d+)*(?:[.,]\d{1,2})?)\s?\$?$/);
}, "Not valid...");
Solution 2:[2]
Sources
This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.
Source: Stack Overflow
| Solution | Source |
|---|---|
| Solution 1 | |
| Solution 2 | Avinash Raj |
