HTML5输入模式允许逗号分隔数千



试图为HTML5输入表单组合一个regex,以允许逗号作为数千的分隔符。例如,以下内容都应该有效:

  • 20
  • 3000
  • 4000
  • 600000
  • 7000000
  • 8000000

我的要求是:

  • 只允许使用数字
  • 允许使用逗号
  • 任何大于0但小于99999999的数字

我有这个,但它似乎不起作用:

[0-9,]{1,8}

请注意,据我所知,HTML5输入模式不需要^$,因为它们是假定的

(?=.{1,10}$)d{1,3}(?:,d{3})+|(?=.{1,8}$)d+

分解为:

(?=.{1,10}$)d{1,3}(?:,d{3})+
  • (?=.{1,10}$)前瞻,以确保总长度在1到10个字符之间(以满足smaller than or equal to 99999999的要求)
  • 1到3位之间的d{1,3}
  • (?:,d{3})+后面至少出现一个:逗号后面跟着3位数字

(?=.{1,8}$)d+)
  • (?=.{1,8}$)前瞻,以确保总长度在1到8个字符之间(以满足smaller than or equal to 99999999的要求)
  • d+至少一位

演示

最新更新