Maison  >  Article  >  développement back-end  >  Comment vérifier l'adresse IP avec l'expression régulière PHP

Comment vérifier l'adresse IP avec l'expression régulière PHP

WBOY
WBOYoriginal
2023-06-24 10:26:351821parcourir

Lors du développement d'applications Web, nous devons souvent vérifier si l'adresse IP saisie par l'utilisateur est au bon format. L'expression régulière PHP est un outil puissant qui peut être utilisé pour vérifier si l'adresse IP saisie est conforme à un format spécifié. Cet article explique comment utiliser les expressions régulières PHP pour vérifier les adresses IP.

Une adresse IP est un identifiant unique pour un appareil sur le réseau. Elle consiste en un nombre binaire de 32 bits et est communément appelée adresse IPv4. Les adresses IPv4 sont généralement exprimées en notation décimale à points, telle que « 192.168.0.1 ». Les adresses IPv6 sont également un format d'adresse IP courant, mais dans cet article, nous discuterons uniquement des adresses IPv4.

PHP Regular Expression est un outil de correspondance de modèles qui est utilisé pour trouver un modèle spécifique dans une chaîne donnée. Les expressions régulières sont constituées de certains caractères et caractères spéciaux utilisés pour représenter des modèles correspondants. En PHP, nous pouvons utiliser la fonction preg_match() pour effectuer une correspondance d'expressions régulières.

Voici l'expression régulière pour vérifier une adresse IPv4 :

/^([01]?d{1,2}|2[0-4]d|25[0-5]).
([01]?d{1,2}|2[0-4]d|25[0-5]).
([01]?d{1,2}|2[0-4]d|25[0-5]).
([01]?d{1,2}|2[0-4]d|25[0-5])$/

L'expression régulière ci-dessus utilise des groupes nommés pour faire correspondre les quatre champs de l'adresse IPv4 : le premier et le deuxième champs vont de 0 à 255, et le troisième et le quatrième Le champ va de 0 à 255. Le point d'interrogation dans l'expression régulière représente une option, où « [01] ? » signifie que le premier chiffre peut être 0 ou 1, suivi d'un chiffre (c'est-à-dire un nombre impair). "d" signifie n'importe quel nombre, {1,2} signifie un ou deux nombres. Par exemple, "d{1,2}" correspondra à n'importe quel nombre compris entre 1 et 99.

Voici un exemple de validation d'une adresse IP à l'aide de la fonction preg_match() :

function validateIP($ip) {
    if (preg_match('/^([01]?d{1,2}|2[0-4]d|25[0-5]).
                 ([01]?d{1,2}|2[0-4]d|25[0-5]).
                 ([01]?d{1,2}|2[0-4]d|25[0-5]).
                 ([01]?d{1,2}|2[0-4]d|25[0-5])$/', $ip)) {
        return true;
    } else {
        return false;
    }
}

Le code ci-dessus définit une fonction appelée "validateIP()" qui prend le paramètre "$ip" en entrée et dans ce paramètre recherche IPv4 adresses. Renvoie vrai si une correspondance est trouvée, faux sinon.

Voici un exemple d'utilisation de cette fonction pour vérifier une adresse IP :

$ip = "192.168.0.1";
if (validateIP($ip)) {
    echo "$ip 是一个有效的IP地址";
} else {
    echo "$ip 不是一个有效的IP地址";
}

Le code ci-dessus définit d'abord une variable chaîne appelée "$ip" qui contient l'adresse IP à vérifier. Appelez ensuite la fonction validateIP() pour vérifier si l'adresse est valide.

Un scénario plus courant consiste à utiliser la validation d'adresse IP dans la validation de formulaire. Voici un exemple de validation d'une adresse IP dans les données d'un formulaire à l'aide de PHP :

if ($_SERVER["REQUEST_METHOD"] == "POST") {
    $ip = $_POST["ip"];

    if (empty($ip)) {
        echo "请输入一个IP地址";
    } else if (!validateIP($ip)) {
        echo "您输入的不是一个有效的IP地址";
    } else {
        echo "IP地址 $ip 是有效的";
    }
}

Le code ci-dessus vérifie d'abord s'il y a une requête POST et récupère le paramètre "ip" des données du formulaire et le stocke dans un fichier nommé "$ip " dans les variables. Appelez ensuite la fonction validateIP() pour vérifier si l'adresse est valide et affichez le message correspondant en fonction du résultat.

Les expressions régulières sont un outil puissant pour valider les adresses IP saisies par l'utilisateur. La fonction preg_match() de PHP peut être utilisée pour effectuer des recherches et des correspondances d'expressions régulières. Il est très simple d'utiliser les expressions régulières mentionnées ci-dessus pour créer les fonctions et le code pertinents pour la vérification de l'adresse IP.

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