输入模式允许多个主题标签,除以空格(#one #two)

时间:2016-11-12 13:06:21

标签: javascript html regex

请帮我定义输入元素(<input pattern="myPattern">)的模式属性的模式,它允许输入一个或多个主题标签,除以空格。 例如:

#first //valid
#Second #and-3rd //valid
#one#two //invalid

我尝试了(^|\s)(#[a-z\d-]+),但它仅适用于输入中的一个标记。如何增强它以允许多个标签?

提前致谢。

1 个答案:

答案 0 :(得分:2)

您可以使用此正则表达式来允许以#开头并以空格分隔的字词:

^#[\w-]+(?:\s+#[\w-]+)*$

RegEx Demo

RegEx说明:

^           # Start
#           # match literal #
[\w-]+      # match 1 or more word chars or hyphen
(?:         # start non-capturing group
   \s+      # match 1 or more whitespace
   #        # match literal #
   [\w-]+   # match 1 or more word chars or hyphen
)*          # end of capturing group. * makes this group match 0 more times
$           # End

PS:请注意,在^模式中使用reges时,不需要定位$input