我正在研究一个文本字段,以使其在任何情况下都只允许最大一个逗号和一个空格(最大)的数字。它可以接受像 "5,8"、"5 ,8" 和 "5 , 8" 这样的值。它不应一次允许两个或多个空格或逗号。
我试过下面的代码,但它不起作用。
this.regex = new RegExp('^\\d+(?\s\\d+)?(?:,\\d*(?\s\\d+)?)*$');
我正在研究一个文本字段,以使其在任何情况下都只允许最大一个逗号和一个空格(最大)的数字。它可以接受像 "5,8"、"5 ,8" 和 "5 , 8" 这样的值。它不应一次允许两个或多个空格或逗号。
我试过下面的代码,但它不起作用。
this.regex = new RegExp('^\\d+(?\s\\d+)?(?:,\\d*(?\s\\d+)?)*$');
这是一个非常简单的解决方案。
为了接受可能的字符,您可以使用?
,它表示前一个字符恰好出现 0 次或 1 次出现。根据您的要求,正则表达式模式:
^\d+\s?,\s?\d+$
将允许 2 个数字(如果需要,可以使用多个数字),它们之间有逗号,可选空格。
请参阅regex101上的示例
要在您共享的代码行中实现:
this.regex = new RegExp('^\\d+\\s?,\\s?\\d+$');