正则表达式匹配模式或空值

时间:2014-04-15 23:30:50

标签: javascript jquery regex

我需要匹配一个模式,其中我可以使用大小为4的字母数字值或空值。 我现在的正则表达式

"[0-9a-z]{0|4}");

不适用于空值。

我尝试了以下两种模式,但它们都不适用于我:

"(?:[0-9a-z]{4} )?");
"[0-9a-z]{0|4}");

我使用http://xenon.stanford.edu/~xusch/regexp/验证我的正则表达式,但有时我会因为RegEx而陷入困境。有没有一种方法/工具可以用来确保我必须来这里解决非常复杂的问题。

我可能想要匹配的示例:we12,3444,de1q,{empty} 但不想匹配:@ $ 12,#12q,1,qwe,qqqqq

没有UpperCase匹配。

2 个答案:

答案 0 :(得分:7)

试试这个:

^([0-9a-z]{4}|)$将匹配4个字符或空值的字母数字。

here就是一个例子

修改

如果您还要匹配大写字母,请将A-Z添加到模式中:

^([0-9a-zA-Z]{4}|)$

答案 1 :(得分:0)

我认为"空值"在上面的问题中意味着空行。如果是这种情况,您可以使用此表达式:

^\s*$|[a-z0-9]{4}

将匹配大小为4的字母数字图案或空行,如here

所述