我在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个小数点的情况下工作吗?
发布于 2019-05-23 09:07:45
你会这样做的
^[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
https://stackoverflow.com/questions/56266805
复制相似问题