正则表达式测试但仅当11个字符时

我有 javascript 正则表达式,/^[a-zA-Z]{6}[a-zA-Z0-9]{5}$/但如果字符串小于或大于 11 个字符,我也希望测试通过。因此,任何 0-10 个字符的字符串都可以通过,任何 12 个或更多字符的字符串都可以通过,但如果正好是 11 个字符,它将通过前面提到的测试进行评估。

回答

您可以使用

/^(?:.{0,10}|.{12,}|[a-zA-Z]{6}[a-zA-Z0-9]{5})$/

请参阅正则表达式演示。

细节

  • ^ - 字符串的开始
  • (?:
    • .{0,10} - 除换行符以外的零到十个字符
    • | - 或者
    • .{12,} - 除换行符以外的十二个或更多字符
    • | - 或者
    • [a-zA-Z]{6}[a-zA-Z0-9]{5} - 六个字母,然后是五个字母数字字符
  • ) - 小组结束
  • $ - 字符串的结尾。

为了匹配换行字符,您可以添加的/s标志(如果你使用的是ECMAScript的2018兼容的JavaScript环境),或更换每一个.[wW]/ [sS]/ [dD]/ [^]


以上是正则表达式测试但仅当11个字符时的全部内容。
THE END
分享
二维码
< <上一篇
下一篇>>