我在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个小数点吗?
答案 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