Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/73.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript-需要一个正则表达式来匹配美国附表B(HTS)编号&引用;0000.00.0000“;_Javascript_Jquery_Regex - Fatal编程技术网

Javascript-需要一个正则表达式来匹配美国附表B(HTS)编号&引用;0000.00.0000“;

Javascript-需要一个正则表达式来匹配美国附表B(HTS)编号&引用;0000.00.0000“;,javascript,jquery,regex,Javascript,Jquery,Regex,我似乎不能把这个弄对。 我需要一个只允许数字和小数(0-9)的正则表达式,并且格式如下: 1234.56.7890 或 它可以以0开头,但必须是10位数字(如果没有小数),或12位数字,小数位于正确的位置(xxxx.xx.xxxx) 谢谢你的帮助。我已经测试了这个正则表达式([0-9]{10})|([0-9]{4}(.)[0-9]{2}(.)[0-9]{4}),它似乎回答了你的问题 在上测试,这个应该有效:/^(\d{4}\.\d{2}\.\d{4})|(\d{10})$/ 它将使每个字符串

我似乎不能把这个弄对。 我需要一个只允许数字和小数(0-9)的正则表达式,并且格式如下:

 1234.56.7890

它可以以0开头,但必须是10位数字(如果没有小数),或12位数字,小数位于正确的位置(xxxx.xx.xxxx)


谢谢你的帮助。

我已经测试了这个正则表达式
([0-9]{10})|([0-9]{4}(.)[0-9]{2}(.)[0-9]{4})
,它似乎回答了你的问题


上测试,这个应该有效:
/^(\d{4}\.\d{2}\.\d{4})|(\d{10})$/

它将使每个字符串与模式匹配:
xxxx.xx.xxxx
xxxxxxxxx
(x是一个数字)

是对nicovank的答案的一个轻微改进,因为{0,1}只匹配一个或零个点,而裸“.”将匹配任何字符的单个实例

您可以在此处使用
^\d{4}(\.?)\d{2}\1\d{4}$
^
$
锚定用于强制整个字符串匹配<代码>(\.?)匹配点(如果存在),如果第一个点匹配,
\1
将再次强制一个点,如果第一个点不匹配,则无点

您可以找到一些匹配和不匹配的示例。

^((\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

您可以找到任何正则表达式的解释,并使用站点或

对其进行测试,因此数字是否可以是10位无小数?或者这只是你提到的与实际价值无关的东西。快速浏览google会显示一个代码列表,所有代码都遵循
[4].[2].[4]
的格式,其中一些组头与
[2或4].[2]
匹配。这很重要,因为每个人都会给出一个与两个选项都匹配的答案,而其中一个选项实际上可能无效。是的,答案可以是10位不带小数,也可以是12位带小数。这允许只有一个
。此外,在量词组前面还有额外的转义字符。另外,
{0,1}
是相同的东西,都表示前面字符的0或1。此正则表达式与nicovank的不同。这与他的不匹配的
000000.0000
匹配。你应该转义你的
,否则它意味着任何字符中的一个,而不是文字
。这看起来很完美!非常感谢你。
/\d\{4}\.\{0,1}\d\{2}\.\{0,1}\d\{4}
^ 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