大于0的数字(包含小数和整数)的正则表达式

今天用到正则表达式,发现网上的有错误,而且以讹传讹,所以开一贴做个积累

坑:正则表达式验证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+)$/