0

我正在研究一个文本字段,以使其在任何情况下都只允许最大一个逗号和一个空格(最大)的数字。它可以接受像 "5,8"、"5 ,8" 和 "5 , 8" 这样的值。它不应一次允许两个或多个空格或逗号。

我试过下面的代码,但它不起作用。

this.regex = new RegExp('^\\d+(?\s\\d+)?(?:,\\d*(?\s\\d+)?)*$');
4

1 回答 1

0

这是一个非常简单的解决方案。

为了接受可能的字符,您可以使用?,它表示前一个字符恰好出现 0 次或 1 次出现。根据您的要求,正则表达式模式:

^\d+\s?,\s?\d+$

将允许 2 个数字(如果需要,可以使用多个数字),它们之间有逗号,可选空格。

请参阅regex101上的示例

要在您共享的代码行中实现:

this.regex = new RegExp('^\\d+\\s?,\\s?\\d+$');
于 2019-08-06T12:50:10.710 回答