regex 至少包含1个大写字母、小写字母、数字、8个字符、特殊字符和DOES NOT CONTAIN WHITESPACE的正则表达式

ruoxqz4g  于 2023-08-08  发布在  其他
关注(0)|答案(1)|浏览(99)

我需要一个包含至少1个大写字母、小写字母、数字、8个字符、特殊字符和DOES NOT CONTAIN WHITESPACE的正则表达式。
我无法添加白色条件:

/^(?=.*[a-z])(?=.*[A-Z])(?=.*[0-9])(?=.*[^a-zA-Z0-9\s]).{8,}$/

字符串
这个**\s**,我以为这会验证白色,但它不工作...
谢谢你的好意

tvokkenx

tvokkenx1#

要匹配至少包含一个大写字母、一个小写字母、一个数字、一个特殊字符、长度至少为8个字符且不包含任何空格的字符串,可以使用带有lookaheads的正则表达式模式来验证这些要求。以下是它的外观:
正则表达式:^(?=.*[A-Z])(?=.*[a-z])(?=.*\d)(?=.*[\W])(?!.*\s).{8,}$
它的工作原理如下:
^声明字符串的开始。
(?=.*[A-Z])至少需要一个大写字母。
(?=.*[a-z])至少需要一个小写字母。
(?=.*\d)至少需要一个数字。
(?=.*[\W])需要至少一个非单词字符(特殊字符)。
(?!.*\s)声明不允许使用空白字符。
.{8,}总共需要至少8个字符。
$声明字符串的结尾。
lookaheads (?=...)(?!...)中的.*允许任何字符(或根本没有字符)出现在必需或不允许的字符之前。.匹配除换行符之外的任何字符,* 量词允许重复任何次数,包括零次。
请记住,正则表达式可能因编程语言和环境而异,因此您可能需要根据特定用例进行调整。这种正则表达式模式应该在大多数常见的语言和环境中工作,如JavaScript、Python、Java等。

相关问题