Maison  >  Article  >  interface Web  >  Correspondance régulière des mots de passe numériques et alphabétiques (étapes détaillées)

Correspondance régulière des mots de passe numériques et alphabétiques (étapes détaillées)

php中世界最好的语言
php中世界最好的语言original
2018-03-29 15:06:323227parcourir

Cette fois, je vais vous apporter les règles régulières pour faire correspondre complètement les mots de passe numériques et alphabétiques (explication détaillée des étapes). Quelles sont les précautions pour obtenir la correspondance régulière des mots de passe numériques et alphabétiques. est un cas pratique. Jetons un coup d'œil une fois.

Un mot de passe pour la fonction Enregistrement de l'utilisateur a les exigences suivantes : il doit être composé de chiffres et de lettres, et doit contenir à la fois des chiffres et des lettres, et sa longueur doit être comprise entre 8 et 16. personnages.

Comment analyser les besoins ? Diviser! C’est l’idée générale de la conception de logiciels. Depuis, les exigences de fractionnement sont les suivantes :

1, ne peut pas être composé uniquement de chiffres

2, ne peut pas être composé uniquement de lettres

3, doit être composé de chiffres ou de lettres

Tant que les trois conditions ci-dessus peuvent être remplies en même temps, écrivez-le comme suit :

^(?![0-9]+$)(?![a-zA-Z]+$)[0-9A-Za-z]{8,16}$

Commentez-le séparément :

^ Faites correspondre le début d'une ligne

( ?![0-9]+$) Prédit que tous les chiffres ne suivent pas cette position

(?![a-zA-Z]+$) Prédit que toutes les lettres ne suivent pas cette position

[ 0-9A-Za-z] {8,16} se compose de 8 à 16 chiffres ou lettres

$ correspond à la fin de la ligne

Remarque : (?!xxxx) Il s'agit d'une forme d'assertion négative de largeur nulle de l' expression régulière , indiquant que le caractère après la position prédéfinie n'est pas xxxx.

Les exemples de tests sont les suivants :

public class Test {
  public static void main(String[] args) throws Exception {
    String regex = "^(?![0-9]+$)(?![a-zA-Z]+$)[0-9A-Za-z]{8,16}$";    
    String value = "aaa"; // 长度不够
    System.out.println(value.matches(regex));
    value = "1111aaaa1111aaaaa"; // 太长
    System.out.println(value.matches(regex));
    value = "111111111"; // 纯数字
    System.out.println(value.matches(regex));
    value = "aaaaaaaaa"; // 纯字母
    System.out.println(value.matches(regex));
    value = "####@@@@#"; // 特殊字符
    System.out.println(value.matches(regex));
    value = "1111aaaa"; // 数字字母组合
    System.out.println(value.matches(regex));
    value = "aaaa1111"; // 数字字母组合
    System.out.println(value.matches(regex));
    value = "aa1111aa";  // 数字字母组合
    System.out.println(value.matches(regex));
    value = "11aaaa11";  // 数字字母组合
    System.out.println(value.matches(regex));
    value = "aa11aa11"; // 数字字母组合
    System.out.println(value.matches(regex));
  }
}

Je pense que vous maîtrisez la méthode après avoir lu le cas dans cet article. Pour des informations plus intéressantes, veuillez prêter attention aux autres. articles connexes sur le site Web PHP chinois !

Lecture recommandée :

Comment utiliser les expressions régulières en js (avec code)

Utiliser des expressions régulières pour vérifier les utilisateurs ' Mot de passe du compte, numéro de téléphone portable et méthode de carte d'identité

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn