java正则表达式问题?
PHPz
PHPz 2017-04-18 09:07:48
0
5
407

用正则表达式构造匹配:

  1. 密码必须由数字、字符、特殊字符三种同时存在组成;

  2. 密码长度不能少于8个字符;

PHPz
PHPz

学习是最好的投资!

répondre à tous(5)
小葫芦
(?!^\d+$)不能全是数字
(?!^[a-zA-Z]+$)不能全是字母
(?!^[_#@]+$)不能全是符号(这里只列出了部分符号,可自己增加,有的符号可能需要转义)
.{8,}长度不能少于8位
合起来就是
(?!^\d+$)(?!^[a-zA-Z]+$)(?!^[_#@]+$).{8,}
巴扎黑

Après vérification, la réponse de @BodhiXuguang est incorrecte. Par exemple, hello123 peut correspondre, mais il ne répond pas aux exigences et 8 espaces peuvent également correspondre, mais cela ne répond pas aux exigences. il n'y a aucun moyen d'ajouter tous les symboles spéciaux.

Bien que (?=[a-zA-Z0-9_#@]+) puisse être ajouté pour garantir que le mot de passe ne contiendra pas de symboles spéciaux autres que ceux spécifiés, il n'y a toujours aucune garantie qu'il doive comporter trois symboles.

Pas tous les chiffres/lettres/symboles spéciaux, le résultat est tant qu'il contient plus de 2 types de symboles.

En fait, ce n'est pas une question régulière, veuillez vous référer à des questions similaires

伊谢尔伦

Énumérez les 6 situations

伊谢尔伦

L'idée de @BodhiXuguang est bonne. Remplacez simplement l'anticipation négative par une anticipation positive et effectuez quelques ajustements.
(?=.d.)(?=.[a-zA-Z].)(?=.[_#@].).{8,}

迷茫

Je pense que ce problème ne devrait pas être résolu avec des expressions régulières. Chaque outil a ses propres scénarios qui sont très adaptés à l'utilisation. Je pense qu'il n'est pas approprié d'utiliser des expressions régulières pour le résoudre dans votre scénario. . Le jugement est simple à mettre en œuvre et très lisible. Pourquoi devons-nous utiliser des expressions régulières ? ?

Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal