jQuery验证,接受$ sign

时间:2015-03-10 12:53:28

标签: jquery regex jquery-validate

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

  

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");

我该怎样做才能让我接受美元符号?

由于

1 个答案:

答案 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");