通过JavaScript中的Regex将数字格式化为特定格式

时间:2014-12-02 20:41:12

标签: javascript regex extjs

我正在努力让正则表达式按预期工作......这是通过regex属性特别在ExtJS文本字段上,但我不认为这很重要,应该是一个通用的JavaScript / Regex问题。

基本上,给定一个字符串:

1112223334.56

...我希望它无效,因为小数点左边的数字超过9位。我想出了以下正则表达式:

/ ^(\ d {0,9}。{0,1} \ d {0,2})$ /

它涵盖了几乎所有的基础:它正确地拒绝了多于一个小数点,或者如果小数点右边有两个以上的数字......如果没有小数部分,或者小于9位,它就会正确接受在右边。这就是应有的一切。一个不拒绝我需要它的情况是小数点左边超过9位数。

我从未成为正则表达式的粉丝,所以我一直在努力解决这个问题,尽管我怀疑这是一个简单的答案。任何人都可以指出我的愚蠢吗? :)谢谢!

1 个答案:

答案 0 :(得分:2)

在正则表达式中,'。'是一个特殊的角色,实际上意味着“任何角色”。所以,你需要使用反斜杠来逃避它:

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