正则表达式在javascript中无法正常工作

时间:2016-02-17 18:21:02

标签: javascript regex

我正在进行金额验证。要求是:

  1. 不应该有前导零。
  2. 它只接受数字。
  3. 应该有一个小数点。
  4. 它应该接受十进制前9位数字和小数点后2位数字。
  5. 我试过这个正则表达式:

    /^(([1-9]\d{0,8})(\.\d{1,2})?)/g;
    

    问题是,在输入9位数后,只有当您同时输入任何数字(一次)时才会输入小数,没有它我无法输入小数点。

1 个答案:

答案 0 :(得分:1)

这可能有所帮助:

/^(?!0)\d{1,9}\.\d{0,2}$/

在这种情况下,我使用了一个外观((!?0))来防止前导零,然后使用类似的OP表达式来匹配字符串。这意味着表达式\d{1,9}\.\d{0,2}中并且前面没有零的所有内容都将匹配。

Demo