Javascript - 需要一个正则表达式来匹配美国附表 B (HTS) 编号."0000.00.0000&
Javascript - Need a regex to match US Schedule B (HTS) numbers. "0000.00.0000"
我似乎做不好。我需要一个正则表达式只允许数字和小数(0-9(,并且采用以下格式:
1234.56.7890
或
1234567890
它可以以 0 开头,但必须是 10 位数字(如果没有小数(,或者 12 位小数位数字(在正确的位置 (xxxx.xx.xx(。
感谢您的任何帮助。
你可以
在这里使用^'d{4}('.?)'d{2}'1'd{4}$
。^
和$
锚点用于强制匹配整个字符串。 ('.?)
匹配点(如果存在(,则'1
再次强制使用点(如果第一个匹配(或没有点(如果不匹配(。
您可以在此处找到一些匹配和不匹配的示例。
这个应该工作:/^('d{4}'.'d{2}'.'d{4})|('d{10})$/
.
它将匹配每个字符串与模式: xxxx.xx.xxxx
和xxxxxxxxxx
(x 是一个数字(。
^(('d{4}'.'d{2}'.'d{4})|('d{10}))$
请注意,应转义点符号。
^ asserts position at start of a line
1st Capturing Group (('d{4}'.'d{2}'.'d{4})|('d{10}))
1st Alternative ('d{4}'.'d{2}'.'d{4})
2nd Capturing Group ('d{4}'.'d{2}'.'d{4})
'd{4} matches a digit (equal to [0-9])
{4} Quantifier — Matches exactly 4 times
'. matches the character . literally (case sensitive)
'd{2} matches a digit (equal to [0-9])
{2} Quantifier — Matches exactly 2 times
'. matches the character . literally (case sensitive)
'd{4} matches a digit (equal to [0-9])
2nd Alternative ('d{10})
3rd Capturing Group ('d{10})
'd{10} matches a digit (equal to [0-9])
{10} Quantifier — Matches exactly 10 times
$ asserts position at the end of a line
您可以找到任何正则表达式的解释,并使用站点进行测试 https://regex101.com/或 http://regexr.com/
我已经测试了这个正则表达式([0-9]{10})|([0-9]{4}(.)[0-9]{2}(.)[0-9]{4})
,它似乎回答了你的问题。
在此链接上测试
/'d'{4}'.'{0,1}'d'{2}'.'{0,1}'d'{4}
比尼科万克的答案略有改进,因为.{0,1} 仅匹配一个点或零个点,而裸 '." 将匹配任何字符的单个实例
相关文章:
- ExtJS 5.1-如何将日期字段屏蔽为00/00/0000
- 如何在javascript中将10:09:00GMT+0000转换为IST
- 如何在正则表达式中允许日期为“00/00/0000”
- 如何获得仅允许 0000 或空格的正则表达式
- 从0000开始递增数字
- (000)000-0000上javascript/jquery中的电话号码regex
- Javascript - 需要一个正则表达式来匹配美国附表 B (HTS) 编号."0000.00.0000&
- 为什么JavaScript将1/1/0000解释为1/1/2000 ?
- MobiScroll datePicker reset value 00-000-0000
- 在这个例子中,我将如何使文件名附加“;0000〃+1而不是“1”;0”+1.
- 如何在 JS 中使 00/00/0000 日期无效