我有这个用于接受钱的文本框的自定义验证:
//custom validator for money fields
$.validator.addMethod("money", function (value, element) {
return this.optional(element) || value.match(/^\$?\d+(\.(\d{2}))?$/);
}, "Please provide a valid dollar amount (up to 2 decimal places) and do not include a dollar sign.");
它似乎有效,但我不希望美元符号被允许。我是否将其更改为:
//custom validator for money fields
$.validator.addMethod("money", function (value, element) {
return this.optional(element) || value.match(/^\?\d+(\.(\d{2}))?/);
}, "Please provide a valid dollar amount (up to 2 decimal places) and do not include a dollar sign.");
或者我应该在其他地方删除美元符号而不是打扰用户这么小的问题?如果这是真的,我应该在哪里做到这一点?
感谢您回答这样一个n00b问题。
答案 0 :(得分:3)
在验证之前删除该值。这很简单:
var str = [your value];
str = str.replace('$','');
答案 1 :(得分:2)
不,你会把它改成这个..
value.match(/ ^ \ d +(。(\ d {2}))?/)
这3个字符构成了与美元符号相匹配的正则表达式的一部分。
\ $?