我正在尝试在javascript中构建一个正则表达式来检查3个字符,但其中2个是可选的。所以我有:
/^\w\w\w/i
我难以理解的是如何使用户不必输入最后两个字母,但如果他们这样做则必须是字母
答案 0 :(得分:10)
您可以使用此正则表达式:
/^\w{1,3}$/i
量词{1,3}
表示重复前面的表达式(\w
)至少1次,最多3次。此外,$
标记字符串的结尾,类似于字符串开头的^
。请注意,\w
不仅包含字符a
- z
及其大写对应项(因此您无需使用 i 修饰符来制作表达式不区分大小写)但也包括数字0
- 9
和低位字符_
。
答案 1 :(得分:5)
像这样:
/^\w\w?\w?$/i
?
将前面的表达式标记为可选。
$
是固定正则表达式结束所必需的
如果没有$
,它将匹配a12
,因为它只匹配第一个字符。 $
强制正则表达式匹配整个字符串。