我需要在我正在处理的MVC网站上的模型中的属性上放置一个RegEx表达式。
表达的不同部分对我个人有意义,但我无法弄清楚如何将它们组合在一起。
我需要能够将输入限制为字母,大写字母,数字和符号@。 _ -
然后我需要确保用户的输入符合以下条件
我已经尝试了
"^(?=.*[a-z])(?=.*[A-Z])(?=.*\\d)(?=.*[@-_.])[A-Za-z\\d@-_.]{8,}"
但最终让密码不包含4个符号中的一个。
答案 0 :(得分:1)
你需要逃避你的正则表达式中的特殊字符。 更新了正则表达式:
"^(?=.*[a-z])(?=.*[A-Z])(?=.*\\d)(?=.*[@\-_.])[A-Za-z\\d@\-_.]{8,}"
答案 1 :(得分:0)
[@-_.]
匹配句点.
)或@
到_
范围内的任何字符。这包括所有大写ASCII字母加方括号,反斜杠,插入符号(^
),当然还有@
和_
。要匹配文字连字符,可以使用反斜杠([@\-_.]
)转义连字符,或将其移到列表末尾([@_.-]
)。