我正在开发需要密码验证的应用。
我应该检查密码字符串是否只包含字母数字和惩罚,至少应该是字母和数字的组合来传递。
有人可以帮助我并分享一个适用于此验证的正则表达式吗?
由于
答案 0 :(得分:2)
使用lookaheads的想法。
^(?=\D*\d)(?=.*?[a-zA-Z])\p{Graph}+$
或者作为Java字符串:
"^(?=\\D*\\d)(?=.*?[a-zA-Z])\\p{Graph}+$"
(?=\D*\d)
第一个前瞻检查digit (?=.*?[a-zA-Z])
第二个至少有一个alpha 来自^
start to $
end \p{Graph}
+
one or more。
\p{Graph}
由[\p{Alnum}\p{Punct}]
\p{Alnum}
字母数字字符[A-Za-z0-9]
\p{Punct}
!"#$%&'()*+,-./:;<=>?@[]^_`{|}~