Angular什么都不重复 - 正则表达式

时间:2016-02-20 11:37:21

标签: angularjs regex

我想实现这样的目标;

0.00
  • 点前1位数
  • 点后2位数

我正在使用带有角度的正则表达式 - /^([0-9]{1})?+(\.[0-9]{1,2})?$/,但得到以下错误。

Invalid regular expression: /^([0-9]{1})?+(\.[0-9]{1,2})?$/: Nothing to repeat at new RegExp (native)

任何帮助表示赞赏

2 个答案:

答案 0 :(得分:2)

您可以使用此正则表达式:

/^[0-9](?:\.[0-9]{1,2})?$/

问题在于你的正则表达式中存在?+量词。

RegEx Demo

答案 1 :(得分:0)

?+无效 - ?是一个量词,用于匹配前一个令牌的0或1次出现,+匹配一个或多个出现次数 - 您无法将两者结合使用。 (在一些正则表达式中,量词在possessive quantifier之后创建enter image description here,而不是在JavaScript中创建+

使用

/^([0-9])?(\.[0-9]{1,2})?$/

如果您打算让正则表达式的两个部分都可选(匹配11.1.1,甚至是空字符串)。