我有一个自定义验证器,它接受包括逗号或点的数字,这是完美的。但现在,我希望同样的验证器也接受$符号。示例:
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");
我该怎样做才能让我接受美元符号?
由于
答案 0 :(得分:1)
添加\ $?到正则表达式的开头和\ 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");