我需要Regex的帮助。我需要验证一个字符串,以便它在整个字符串中至少包含6个字母数字,该字符串可以有6个不包含的空格和连字符,但是整个字符串(包括字母数字,空格和连字符)不能超过18.同样,所有字母数字不能相同。我知道正则表达式是什么,但我似乎找不到在字符串中包含最小字符的任何东西,但不包括其他所有东西。将整个事情限制为18个很简单,但是当我试图使它以最小字符数工作时,我却很难。[a-zA-Z0-9 \ s] {6,18}不是我想要的,因为这证明我的个数至少为6,但不超过18,因此不适用于串连起来的“ wwwwww”它有6个字符,但不是一口气。
我用过的^(?=.{6,})[a-zA-Z0-9\s]+.\*?$
是一种前瞻性检查6个字母数字,但是我需要从6个计数中删除空格并将其包括在总计数中以限制为18个。
以下示例将是有效的。
www ww z-总共6个字符。字符和空格的长度不超过18,并且不是所有相同的字母数字
w [12个空格] wwwwz-总共6个字符。字符和空格的长度不超过18,并且不是所有相同的字母数字
以下示例将无效
wwwwz-字符数中不包含5个字符
w [16个空格] ww-字符数中仅包含3个字符
wwwwww-所有字符都相同
wwwwwwxxxxxxr rr tt-包括空格在内的18个以上
希望这是有道理的。
提前致谢
我想你想要这样的东西:
/(?=^[a-z\d -]{6,18}$)(?=([a-z\d]).*(?!\1)[a-z\d])^(?:.*[a-z\d].*){6,18}$/gmi
https://regex101.com/r/1KXLcB/1
(?=^[a-z\d -]{6,18}$)
-确保我们有6到18个字母数字,空格或连字符(?=([a-z\d]).*(?!\1)[a-z\d])
-确保至少存在一个不同的字母数字^(?:.*[a-z\d].*){6,18}$
-确保我们至少有6个字母数字和18个最大字符它也可以在regexstorm中使用,但是您一次只能输入一次输入。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句