用于密码验证的Java正则表达式
我已经在Java应用程序中创建了用于密码验证的正则表达式。我创建的正则表达式符合以下要求用于密码验证的Java正则表达式,java,regex,Java,Regex,我已经在Java应用程序中创建了用于密码验证的正则表达式。我创建的正则表达式符合以下要求 ^[\\p{Alnum}#.!@$*&_]{5,12}$ 至少5个字符,最多12个字符 包含至少一个数字 至少包含一个字符 可能包含一组特殊字符(#.!@$*&)中的字符 不包含空格、制表符等 我缺少1和2,就像如果我给出“GJSAJGJHAGFJ”或“29837846876”,它应该失败。但这并没有发生 有人能帮忙吗?您可以使用lookaheads强制条件1和2: ^(?i)(?=.*[a-z]
^[\\p{Alnum}#.!@$*&_]{5,12}$
有人能帮忙吗?您可以使用lookaheads强制条件1和2:
^(?i)(?=.*[a-z])(?=.*[0-9])[a-z0-9#.!@$*&_]{5,12}$
(?i)
用于不区分大小写的匹配,与模式相同。编译函数的不区分大小写标志:
Pattern.compile(regex, Pattern.CASE_INSENSITIVE)
您可以阅读有关Lookaheads的更多信息您可以使用Lookaheads强制条件1和2:
^(?i)(?=.*[a-z])(?=.*[0-9])[a-z0-9#.!@$*&_]{5,12}$
(?i)
用于不区分大小写的匹配,与模式相同。编译函数的不区分大小写标志:
Pattern.compile(regex, Pattern.CASE_INSENSITIVE)
您可以阅读有关Lookaheads的更多信息是否有理由将其限制为最多12个字符?对我来说,这似乎不合逻辑。有一个原因我不能和别人分享。没有担忧,好的是总有人愿意帮助,不要泄气。。。每个人都应该得到帮助,只要他表现出他已经做了一些努力,但他没有达到他想要的,你清楚地看到了,你有什么理由限制它最多12个字符吗?对我来说,这似乎不合逻辑。有一个原因我不能和别人分享。没有担忧,好的是总有人愿意帮助,不要泄气。。。每个人都应该得到帮助,只要他表现出他已经做了一些努力,但他没有达到他想要的,这一点你很清楚地看到了