jQuery 验证,接受 $ 符号

jQuery Validate, accept $ sign

我有一个自定义验证器,它接受包括逗号或点的数字,这很完美。但是现在,我希望同一个验证器也接受 $ 符号。示例:

122,00 $
122.05 $
122$
122.10$

应接受所有这些条目。

实际上,我的验证器是:

$.validator.addMethod("money", function (value, element) {
   return this.optional(element) || value.match(/^(\d+(?:[\.\,]\d{2})?)$/);
}, "Please provide a valid dollar amount");

我应该怎么做才能让我也接受美元符号?

谢谢

添加\$?到正则表达式和 \s?\$?到正则表达式的末尾。这样做将接受:$1,234、1,234$ 和 1,234 $:

$.validator.addMethod("money", function (value, element) {
   return this.optional(element) || value.match(/^$?(\d+(?:[\.\,]\d{2})?)\s?$?$/);
}, "Please provide a valid dollar amount");