今天用到正则表达式,发现网上的有错误,而且以讹传讹,所以开一贴做个积累
坑:正则表达式验证input输入框只能输入大于0的数字(含小数整数)
网上给出代码:
1. /^[1-9]d*(.d+)?$/;
2. /^[0-9]+(.d+)?$/;
分析:
1. 此代码在验证0和非数字时正确,但是在验证小数0.7类似数据时候出错
2. 此代码校验结果为 数字且大于等于0
正确代码:
/^(?!(0[0-9]{0,}$))[0-9]{1,}[.]{0,}[0-9]{0,}$/
--------------------------------------常用正则-------------------------------------------------------------------
1. 正数(包括小数) /^[+]{0,1}(d+)$|^[+]{0,1}(d+.d+)$/
2. 正整数(不包括小数) /^[+]{0,1}(d+)$/