试图为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+
至少一位
演示