没有空格的密码验证的正则表达式C#

时间:2014-08-20 09:26:49

标签: regex

密码必须至少包含8个符号。

按任意顺序分2个数字,

min 1 special in any order character和

不得允许空格。

我有这样的事情:

(?=.*\d.*\d)(?=.*[$/@:?{~!^`\[\]]{1,}).{8,}

UPD解决方案:

(?=[^\s]*\d){2}(?=[^\s]*[$/@:?{~!^`\[\]]){1,}[^\s]{8,}

5 个答案:

答案 0 :(得分:1)

如果您的语言支持否定课程,我会将.更改为\S

(?=\S*\d){2}(?=\S*[$/@:?{~!^`\[\]]){1,}\S{8,}

[^\s],如果不是

(?=[^\s]*\d){2}(?=[^\s]*[$/@:?{~!^`\[\]]){1,}[^\s]{8,}

答案 1 :(得分:1)

这是另一个:

^(?=(?:.*\d){2})(?=.*[$/@:?{~!^`\[\]])\S{8,}$

Regular expression visualization

Debuggex Demo

答案 2 :(得分:0)

^(?!.*\s.*)(?=.*\d.*\d)(?=.*[$/@:?{~!^`\[\]]{1,}).{8,}$

将其锚定到开头和结尾,空白为负前瞻

答案 3 :(得分:0)

这是我的建议:

^(?!\d+$)(?![$/@:?{~!^`\[\]]+$)[$/@:?{~!^`\[\]\d]{8,}$

注意:您需要找到另一种方法来检查至少2位数

答案 4 :(得分:0)

 (?!.*?\s+.*?)

只需将其添加到现有的regex.A负向前瞻,检测一个或多个空格。