js 正则匹配

新手上路,请多包涵

输入框数字超过6位,应该提示【小数点前数字最多为6位】,

小数点后数字超过2位,应该提示【小数点后数字最多为2位】,

输入框数字超过6位,小数点后数字超过2位,应该提示【小数点前数字最多为6位,小数点后数字最多为2位】

输入价格为0,应该提示【价格不能为0】

阅读 2.1k
1 个回答

其实我觉得你预想的这串数字应该是这样的:

var reg = /^(\d{1,6})(\.?)(\d{0,2})$/g

第一个括号分组指的是:有1~6个数字。
第二个括号分组指的是:有0~1个小数点。
第三个括号分组指的是:有0~2个数字。

至于你想通过小数点前后的数字进行判断的话,我觉得可以用:

var arr = str.split(".");

把字符串分开然后通过arr[0]arr[1]进行判断。

至于输入价格为0,直接:

if($(#price).val()===0){alert();}

但实际上我觉得,直接使用reg.test(str)去判断就可以了。

推荐问题