javascript正则表达式中的可选字符

Ant*_*ony 3 javascript regex

我试图在javascript中构建一个正则表达式来检查3个字符,但其中2个是可选的.所以我有:

/^\w\w\w/i

我难以理解的是如何使用户不必输入最后两个字母,但如果他们这样做,他们必须是字母

Gum*_*mbo 10

您可以使用此正则表达式:

/^\w{1,3}$/i
Run Code Online (Sandbox Code Playgroud)

量词{1,3}意味着重复前面的表达式(\w)至少1次,最多3次.此外,$标记字符串的结尾类似于字符串^的开头.请注意,\w它不仅包含字符a- z以及它们的大写对应项(因此您不需要使用i修饰符使表达式不区分大小写)而且还包含数字0- 9以及低位字符_.


SLa*_*aks 5

像这样:

/^\w\w?\w?$/i
Run Code Online (Sandbox Code Playgroud)

?前面的表达式标记为可选.

$锚定正则表达式的结束是必要的.
没有它$,它会匹配a12,因为它只匹配第一个字符.该$部队的正则表达式匹配整个字符串.