这是应该为您实现此目标的正则表达式。
开头必须是数字或$符号。 逗号可以有任意数量的数字,但必须以数字开头和结尾。 在行尾可以有一个小数点,最多两位数。
var your_input = "$1,000,000.00"; var valid_dollar_amt_regex = /^\$?[0-9][0-9,]*[0-9]\.?[0-9]{0,2}$/i; if(valid_dollar_amt_regex.test(your_input)) alert("Valid!");
或者使用此功能
function validate_money(i) { var valid_dollar_amt_regex = /^\$?[0-9][0-9,]*[0-9]\.?[0-9]{0,2}$/i; return valid_dollar_amt_regex.test(i); }
看它工作: http://jsfiddle.net/znuJf/