大于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+)$/

 

posted @ 2017-04-18 08:55  脑白金  阅读(64847)  评论(12编辑  收藏  举报