javascript - 用于输入数字和逗号的正则表达式
问题描述
我正在尝试限制输入数据。
我的目标:
- 每个输入只允许两个符号:数字和逗号
- 第一个符号只有数字(零个或多个)
- 数字数量是无限的(零个或更多)
- 允许使用悬空逗号,但只能使用一个
测试用例:
- 1,2,4 - ок
- 1221,212,4121212 - ок
- ,2,3 - 不是ок
- 1,2,3, - ок
- 11,21111,31111, - ок
我有过这样的事情,但它不能正常工作
/^\d*(,\d*)*$/.test(value)
感谢任何帮助!
解决方案
您可以使用
/^(?:\d+(?:,\d+)*,?)?$/
请参阅正则表达式演示。详情:
^
- 字符串的开始(?:\d+(?:,\d+)*,?)?
- 一个可选的非捕获组:\d+
- 一位或多位数字(?:,\d+)*
- 零个或多个逗号序列和一个或多个数字,?
- 可选逗号
$
- 字符串结束。
推荐阅读
- node.js - 将 MERN 堆栈 docker 容器绑定到服务器的本地 ip 并使用 VPS 访问它
- parsing - 如何在 flex/lex 中更改动作之外的“开始条件”?
- c++ - 在 C++20 中进行复制列表初始化时是否需要移动省略?
- typescript - 如何在 ReactNative Auth0 - /authorize url 中添加自定义查询参数?
- angular - Angular mat-datepicker-header aria-label 本地化
- java - Chrome 浏览器 - 等待驱动程序服务器启动超时
- react-native - 组件不能包含子组件。如果要在图像顶部呈现内容,请考虑使用
零件 - c# - 计算数组的非空元素 - LINQ 性能问题
- signal-processing - 我们可以在 ltspice 中回放 .wav 文件时执行暂停操作吗?
- mongodb - 如何在 kubernetes 之外的 statefulset 中公开 mongodb