使用正则表达式不允许零

时间:2015-02-22 17:06:41

标签: jquery regex

允许用户输入数字大于0“和/或”最多2位小数。

预期输出格式: 123.45 1.46 34234.23 34.04 0.33

不喜欢: 67.6787 45.546.65 0

下面的代码工作正常,但它接受'0'

 $('input').keyup(function () {
    if(!(/^\d+(\.{0,1}\d{0,2})?$/.test(this.value)))
             this.value = this.value.substring(0, this.value.length - 1);
});

HTML

<table>
  <tr>
    <td>
      <asp:TextBox ID="txt1" runat="server" Width="50"/>
    </td>
  </tr>
</table>

1 个答案:

答案 0 :(得分:2)

您可以使用基于正向的负向前导来禁用0值:

/^(?!0(\.0*)?$)\d+(\.?\d{0,2})?$/

RegEx Demo

它将允许:

0.1
1.0
345.67
1.1
1.23

不允许:

0.
0
0.0
0.00
45.56.45