Maison >développement back-end >tutoriel php >Expression régulière PHP pour vérifier la validité de l'adresse IP

Expression régulière PHP pour vérifier la validité de l'adresse IP

王林
王林original
2023-06-24 11:27:101232parcourir

Lors du développement d'applications Web, vous devez souvent utiliser des adresses IP. La validité de l'adresse IP est très importante car si l'adresse IP n'est pas valide, cela peut entraîner des failles de sécurité et d'autres problèmes. Les expressions régulières PHP sont un outil utile qui peut nous aider à vérifier la validité des adresses IP.

L'expression régulière PHP est un puissant outil de traitement de texte qui peut être utilisé pour faire correspondre et remplacer du texte. En PHP, les expressions régulières sont généralement traitées à l'aide de la série de fonctions preg. Pour vérifier la validité d'une adresse IP, nous pouvons utiliser l'expression régulière suivante :

$pattern = '/^(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?).){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$/';

Cette expression régulière peut essentiellement correspondre à n'importe quelle adresse IP légale. Expliquons-le en détail ci-dessous.

Tout d'abord, le début de l'expression régulière est "^", ce qui signifie que la correspondance commence au début de la chaîne. Ensuite, la partie entourée de "(?:)" est un groupe sans capture, qui peut être mis en correspondance à plusieurs reprises. Vient ensuite "(?:25[0-5]|20-4|[01]?0-9?)." Cette partie peut correspondre aux trois premiers segments de l'adresse IP. La plage de valeurs de chaque segment est 0-. 255.

Plus précisément, cette partie se compose de trois parties, séparées par "|" :

  • "25[0-5]" signifie 25 à 255 nombres.
  • "20-4" signifie les nombres de 200 à 249 et les nombres de 250 à 255.
  • "[01]?0-9?" signifie un nombre compris entre 0 et 199. Parmi eux, « [01]?[0-9] » représente le nombre de 0 à 19, et « [01] ?0-9 ? » représente le nombre de 0 à 199 ?

L'étape suivante est ".", ce qui signifie faire correspondre le "." dans l'adresse IP.

La dernière partie est "(?:25[0-5]|20-4|[01]?0-9?)$", cette partie peut correspondre au dernier segment de l'adresse IP , qui sont les quatre paragraphes. Ses règles sont similaires aux règles précédentes et ne seront pas décrites à nouveau. Le "$" final signifie la correspondance à partir de la fin de la chaîne.

Il est à noter que cette expression régulière ne peut être utilisée que pour vérifier la validité de l'adresse IPv4. Si vous devez vérifier la validité de l'adresse IPv6, vous devez utiliser une expression régulière différente.

Ce qui suit est un exemple de code PHP complet pour vérifier la validité de l'adresse IP :

function validateIPAddress($ip) {
    $pattern = '/^(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?).){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$/';
    if (preg_match($pattern, $ip)) {
        return true;
    } else {
        return false;
    }
}

$ip = '192.168.0.1';
if (validateIPAddress($ip)) {
    echo 'IP地址有效';
} else {
    echo 'IP地址无效';
}

Définissez d'abord une fonction validateIPAddress pour vérifier la validité de l'adresse IP . Si l'adresse IP est valide, renvoie vrai ; sinon, renvoie faux. Dans la fonction, l'expression régulière mentionnée précédemment est utilisée pour la correspondance.

Ensuite, une variable $ip est définie pour stocker l'adresse IP. Si l'adresse IP est valide, « L'adresse IP est valide » est affichée ; sinon, « L'adresse IP n'est pas valide » est affichée.

A travers cet exemple, nous pouvons voir qu'il est très simple d'utiliser des expressions régulières PHP pour vérifier la validité d'une adresse IP. Dans les applications pratiques, nous pouvons également supprimer ou ajouter certaines règles si nécessaire pour rendre la vérification plus précise.

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