Javascript 正则表达式测试,但仅当11个字符
我有javascript正则表达式Javascript 正则表达式测试,但仅当11个字符,javascript,regex,Javascript,Regex,我有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}-除换行符以外的0到10个字符 |-或 {12,}-
/^[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个字符{0,10}
-或|
-除换行符以外的12个或更多字符{12,}
-或|
-六个字母和五个字母数字字符[a-zA-Z]{6}[a-zA-Z0-9]{5}
-组结束)
-字符串结束$
为了匹配换行符,您可以添加
/s
标志(如果您使用的是符合ECMAScript 2018标准的JavaScript环境),或者将每个
替换为[\w\w]
/[\s\s]
/[\d\d]
/[^]
和pass您想返回True吗?我不明白你的问题,在你的正则表达式中,第一部分有{6}个字符,第二部分有{5}个字符,6+5=11,但你说11正是你不希望的长度…如果你谈论的是另一个不是正则表达式的测试,请共享代码:)@WiktorStribiżew没有删除,只是评估。比如说12"将通过,因为它小于11"1234$abcd!56789*efg'将通过,因为它大于11'1234567890a“不会通过,因为它有11个字符,但如果经过测试,则不会通过前面提到的正则表达式。”aaaasrbb123'将通过测试,因为它是11个字符,并且通过了前面提到的正则表达式。我想我得到了它,所以我删除了注释并发布了答案。传达此信息的最佳方式是向我们展示示例。。。失败的例子和通过的例子。确保每个要通过/失败的bucket至少有一个示例,等等。看起来11个bucket至少有三个。?:
这是什么?@rajdeepdebnatha。这正是我需要的!谢谢@WiktorStribiżew