包含数字和逗号的输入的正则表达式



我正在尝试限制输入数据。

我的目标:

  • 每次输入只允许两个符号:数字和逗号
  • 第一个符号数字(零或多个)
  • 数字的数量是无限的(零或更多)
  • 允许使用悬空逗号,但只能使用一个

测试用例:

  • 1,2,4 -
  • 1221,212,4121212 -
  • ,2,3 -不支持
  • 1,2,3, -
  • 11,21111,31111, -

我做过类似的东西,但是它不能正常工作

/^d*(,d*)*$/.test(value)

感谢您的帮助!

可以使用

/^(?:d+(?:,d+)*,?)?$/

参见regex演示。细节:

  • ^-字符串
  • 起始
  • (?:d+(?:,d+)*,?)?-可选的非捕获组:
    • d+-一个或多个数字
    • (?:,d+)*- 0个或多个逗号和一个或多个数字序列
    • ,?-可选逗号
  • $-字符串结束

最新更新