jquery - 不允许使用正则表达式为零

标签 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>

最佳答案

您可以使用基于负向前瞻的正则表达式来禁止 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

关于jquery - 不允许使用正则表达式为零,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28660632/

相关文章:

javascript - 在 jqGrid 中重新加载 dataurl 元素

php - 如何通过许可证 key 保护我的 php 应用程序?

jquery - 自动调整 body 背景图像到浏览器窗口?

JavaScript 正则表达式

ruby - 匹配类似空格的字符的最佳方法是什么?

javascript - Uncaught ReferenceError :foobar is not defined (anonymous function)

javascript - 网站上的视频播放器

python - 使用正则表达式的 Strip() 函数

javascript - 正则表达式包含某些字符和两个单词(true 和 false)

javascript - Node.js:获取电子邮件标题和正文的正则表达式