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

Regex HTML5输入模式允许数千个逗号分隔符,regex,html,forms,input,Regex,Html,Forms,Input,试图为HTML5输入表单组合一个regex,以允许逗号作为数千的分隔符。因此,例如,以下各项均应有效: 二十 三千 四千 60万 7000000 800万 我的要求是: 只允许数字 允许逗号 任何大于0但小于9999999的数字 我有这个,但它似乎不起作用: [0-9,]{1,8} 请注意,据我所知,HTML5输入模式不需要假定的^或$ 细分为: (?=.{1,10}$)\d{1,3}(?:,\d{3})+ (?=.{1,10}$)向前看,以确保总长度在1到10个字符之间(以满足小

试图为HTML5输入表单组合一个
regex
,以允许逗号作为数千的分隔符。因此,例如,以下各项均应有效:

  • 二十
  • 三千
  • 四千
  • 60万
  • 7000000
  • 800万
我的要求是:

  • 只允许数字
  • 允许逗号
  • 任何大于0但小于9999999的数字
我有这个,但它似乎不起作用:

[0-9,]{1,8}
请注意,据我所知,HTML5输入模式不需要假定的
^
$

细分为:

(?=.{1,10}$)\d{1,3}(?:,\d{3})+
  • (?=.{1,10}$)
    向前看,以确保总长度在1到10个字符之间(以满足
    小于或等于9999999
    的要求)
  • \d{1,3}
    介于一位和三位之间
  • (?:,\d{3})+
    后至少出现一次:逗号后跟3位数字

  • (?=.{1,8}$)
    向前看,以确保总长度在1到8个字符之间(以满足
    小于或等于9999999
    的要求)
  • \d+
    至少一位数字

试试。@WiktorStribiżew这将与
800000不匹配
(?=.{1,10}$)\d{1,3}(?:,\d{3})+
(?=.{1,8}$)\d+)