javascript - 如何为文本字段实现正则表达式以在 Extjs 中一次允许一个逗号一个空格
问题描述
我正在研究一个文本字段,以使其在任何情况下都只允许最大一个逗号和一个空格(最大)的数字。它可以接受像 "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+$');
推荐阅读
- python - Python:在列表中标记重复项
- python - conda create --copy 正在使用符号链接创建环境
- javascript - 如何将 Firebase 身份验证数据添加到 React 中的 firestore 集合?
- python-3.x - 打印列表名称,而不是列表
- ios - 关于“gamePlayerID”的 AppStoreConnect“应用程序隐私”如何回答
- visual-studio-code - vscode 扩展:TreeDataProvider 不一致
- javascript - Chart Js - 条形图 - 如何使标签的第一行加粗?
- laravel - 我未能在 Laravel 8 应用程序中安装 Font Awesome
- python - numpy,多个操作会导致创建中间数组吗?
- mp3 - 如何使音频播放器可见?