我正在努力让Regex进行验证 我的主要问题包括:
所以我做了这样的事情
(?=^.{10,}$)(?=.*^[a-z])(?![.\n])(?=.[A-Z]{1})([a-z0-9])(?=.*[$@$!%*#?&]{2}).*$
你有什么想法我错了吗?我用{1}
进行了讨论,我会让它发挥作用,但显然我错了。
答案 0 :(得分:1)
(?=^[a-z])
(?=^[^A-Z]*[A-Z]{1}[^A-Z]*$)
(?=^[^$@$!%*#?&]*[$@$!%*#?&][^$@$!%*#?&]*[$@$!%*#?&][^$@$!%*#?&]*$)
^.{10,}$
将其放在JavaScript
的一行中。
(?=^[a-z])
- 确保第一个字母是小写的(?=^[^A-Z]*[A-Z]{1}[^A-Z]*$)
- 这个怪物从开始(^
)到结尾($
)说明一定要找到0个或更多不是A-Z
的字符,然后A-Z
中的一个,然后是第一个模式。这有效地确保仅匹配字符串(?=[^$@$!%*#?&]*[$@$!%*#?&]{2}[^$@$!%*#?&]*)
- 与大写字母相同的机制^.{10,}$
确保匹配至少10个字符并将字符串绑定到开头和结尾正如@Shafizadeh所指出的那样,要求很有趣。