我必须为指定为的密码提供数据注释正则表达式:
min 8 chars
min 1 upper
min 1 lower
min 1 numeric
min 1 special char which can ONLY be one of the following:$|~=[]'_-+@. (and the password can contain no other special chars besides these)
排除特殊字符让我很头疼。
我想出了这个,但它不起作用:
"^.*(?=.{8,})(?=.*[a-z])(?=.*[A-Z])(?=.*[\d])**(?(?!.*[^$|~=[\]'_\-+@.])|([^\W\w])).*$**
它将我输入的所有内容都解决为无效。
而这(对于特殊字符)本身确实有效:
"(?(?!.*[^$|~=[\]'_\-+@.])|([^\W\w])).*$"
我知道第一部分有效,那么让它们一起工作我缺少什么?
或者,是否有更简单的方法来实现这一目标?
(.NET 环境)