我有以下RegEx来验证CSS text-shadow
属性
/^(-?[0-9]+px\s?){2,3}(#[a-fA-F0-9]{6}|#[a-fA-F0-9]{3}|red|orange|black|white|purple|blue|red|yellow|green|brown|aqua|pink|teal)$/
对于像2px 2px #ff0000;
但它并不适用于多种值,例如
text-shadow : -1px -1px 0 #ffffff, 1px -1px 0 #ffffff, -1px 1px 0 #ffffff, 1px 1px 0 #ffffff;
我如何"延伸"以前的RegEx支持每个text-shadow
案例?
答案 0 :(得分:4)
您可以使用以下RegEx
这是使用改变/ OR条件的另一个RegEx。 RegEx的第一部分与简单语法匹配,第二部分匹配每一侧的各个值。
<强>解释强>
-?\d+px\s+-?\d+px\s+
-?
:匹配连字符-
\d+
:匹配一个或多个数字px
:匹配px
文字\s+
:匹配一个或多个空格#([a-fA-F0-9]{3})([a-fA-F0-9]{3})?
#
:匹配哈希#
[a-fA-F0-9]{3}
:匹配3个字符的十六进制([a-fA-F0-9]{3})?
:可选地匹配3个字符的十六进制MDN Syntax
中指定的另一种支持格式