RegExp用于限制2个小数点锡

时间:2019-05-23 01:02:59

标签: regex string typescript regex-lookarounds regex-group

我在Angular 5应用程序的指令中具有以下RegExp:

private regex = {
        number: new RegExp(/^\d+$/),
        decimal: new RegExp(/^[0-9]+(\.[0-9]*){0,1}$/g) 
    };

在活动中,我有以下通话要匹配:

if (next && !String(next).match(this.regex[this.numericType])) {
            event.preventDefault();
        }

我的问题是RegExp允许小数点后超过2位数字。我试图删除*并放入{0,2}或{1,2},但没有用。知道我应该在上面的代码中进行哪些更改以使其不超过2个小数点吗?

1 个答案:

答案 0 :(得分:3)

您会这样做

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

 ^                             # BOS
 [0-9]+                        # Required, many digits
 (?:                           # Optional group
      \. [0-9]{0,2}                 # decimal, followed by 0 - 2 digits
 )?
 $                             # EOS