金额的正则表达式,如果带小数的话默认保留2位,可以是-负数开头 var number = /^-?\d+\.{0,}\d{2}$/; 如果 是0 ,为什么不能,还有如果带1为小数也不行
------解决方案--------------------
或者,如果你要求只要有小数点出现,那么后面必须跟上至少一个数字,就修改为以下: var re = /^-?\d+((\.)\d{1,2})?$/; var str='0'; if(re.test(str)){alert('格式正确')}else{alert('格式错误')}