Maison développement back-end tutoriel php Comment vérifier si l'entrée est une adresse IPv4 en utilisant regex en PHP

Comment vérifier si l'entrée est une adresse IPv4 en utilisant regex en PHP

Jun 24, 2023 am 09:20 AM
php正则表达式 输入验证 ipv地址验证

PHP, en tant que langage de programmation côté serveur populaire, fournit des outils puissants pour vérifier l'exactitude des données d'entrée. Dans cet article, nous nous concentrerons sur la façon d'utiliser des expressions régulières pour vérifier si l'entrée est une adresse IPv4.

Tout d’abord, qu’est-ce qu’une adresse IPv4 ? Une adresse IPv4 fait référence à un nombre binaire de 32 bits, généralement divisé en quatre nombres binaires de 8 bits, séparés par « . » et exprimé sous forme décimale. Par exemple, 127.0.0.1 est une adresse IPv4.

Voyons maintenant comment utiliser des expressions régulières pour vérifier si l'entrée est une adresse IPv4. Voici un exemple d'expression régulière de base :

/^(?:[0-9]{1,3}.){3}[0-9]{1,3}$/
Copier après la connexion

Cette expression régulière se compose de trois parties. La première partie est ^, qui est utilisée pour spécifier la position de départ du match. La deuxième partie est (?:[0-9]{1,3}.){3}, ce qui signifie faire correspondre une combinaison de trois nombres et un point répété trois fois. Cette combinaison peut correspondre au. trois premiers nombres et points. (?:) indique un groupe qui ne capture pas, c'est-à-dire qu'il ne sera pas enregistré lors de la correspondance. La dernière partie est [0-9]{1,3}$, ce qui signifie correspondre au dernier numéro, sans aucun autre caractère après, et se terminer par ce numéro. ^,用于指定匹配起始位置。第二部分是(?:[0-9]{1,3}.){3},表示匹配三个数字和一个点重复三次的组合,这个组合可以匹配前三个数字和点。(?:)表示非捕获组,也就是匹配时不会被记录下来。最后一部分是[0-9]{1,3}$,表示匹配最后一个数字,后面没有其他字符,并以这个数字结尾。

但是,这个正则表达式还有一些问题。它允许匹配一些不可能的IPv4地址,例如256.0.0.0或者192.168.1.0/24的广播地址。

为了解决这个问题,我们需要增加一些逻辑来验证每个数字是否在0~255之间。以下是一个校验IPv4地址的正则表达式示例:

/^((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]?)$/
Copier après la connexion

这个正则表达式也包括三个部分。第一部分是(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?).,表示匹配以25开头、以24开头且第二个数字在0~9之间、或以0~9开头的数字,这三种情况下后面紧跟着一个点。这个组合会匹配前三个数字和点。

第二部分是第一部分重复三次。最后一个部分是(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?),表示匹配以25开头、以24开头且第二个数字在0~9之间、或以0~9开头的数字。这个组合会匹配最后一个数字。

这个正则表达式能够验证IPv4地址的有效性,精确地捕获每个数字,并确保每个数字在0~255之间。

下面是一个示例代码,演示如何使用这个正则表达式来检查一个IP地址:

function isIPv4($ip) {
  // 强制类型转换确保$ip为字符串类型
  $ip = (string)$ip;
  
  // 匹配IPv4地址
  $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]?)$/';
  
  return preg_match($pattern, $ip);
}

// 测试验证
var_dump(isIPv4('127.0.0.1')); // true
var_dump(isIPv4('256.0.0.0')); // false
Copier après la connexion

在上述示例中,我们定义了一个isIPv4()函数来验证一个IPv4地址。我们将IP地址强制转换为字符串类型,并将其与正则表达式进行匹配,如果匹配成功,则返回true,否则返回false

Cependant, cette expression régulière pose quelques problèmes. Il permet de faire correspondre certaines adresses IPv4 impossibles, comme l'adresse de diffusion 256.0.0.0 ou 192.168.1.0/24.

Pour résoudre ce problème, nous devons ajouter un peu de logique pour vérifier si chaque nombre est compris entre 0 et 255. Voici un exemple d'expression régulière pour vérifier une adresse IPv4 : 🎜rrreee🎜Cette expression régulière comprend également trois parties. La première partie est (25[0-5]|2[0-4][0-9][01]?[0-9][0-9]?)., qui signifie faire correspondre des nombres commençant par 25, commençant par 24 et le deuxième nombre étant compris entre 0 et 9, ou commençant par 0 et 9, dans les trois cas suivis d'un point. Cette combinaison correspondra aux trois premiers chiffres et au point. 🎜🎜La deuxième partie est la première partie répétée trois fois. La dernière partie est (25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?), ce qui signifie Correspondance des nombres commençant par 25, commençant par 24 et le deuxième chiffre est compris entre 0 et 9, ou commençant par 0 et 9. Cette combinaison correspondra au dernier numéro. 🎜🎜Cette expression régulière peut vérifier la validité d'une adresse IPv4, capturer chaque numéro avec précision et garantir que chaque numéro est compris entre 0 et 255. 🎜🎜Voici un exemple de code qui montre comment utiliser cette expression régulière pour vérifier une adresse IP : 🎜rrreee🎜Dans l'exemple ci-dessus, nous avons défini une fonction isIPv4() pour vérifier une adresse IPv4. Nous convertissons l'adresse IP en type chaîne et la comparons à l'expression régulière, renvoyant true si la correspondance est réussie, sinon false. 🎜🎜Dans les applications pratiques, il est très important de vérifier les données saisies par l'utilisateur. L’utilisation d’expressions régulières pour valider les adresses IPv4 constitue un bon choix pour vérifier rapidement et facilement l’exactitude des saisies utilisateur. 🎜

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 de ce site Web
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

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

Article chaud

R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Meilleurs paramètres graphiques
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Comment réparer l'audio si vous n'entendez personne
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Comment déverrouiller tout dans Myrise
4 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Comment vérifier si l'entrée est une adresse IPv6 à l'aide de PHP regex Comment vérifier si l'entrée est une adresse IPv6 à l'aide de PHP regex Jun 25, 2023 am 09:37 AM

IPv6 fait référence à InternetProtocolVersion6, qui est un protocole d'adresse IP utilisé pour la communication Internet. Une adresse IPv6 est un nombre composé de 128 bits, généralement représenté par huit groupes de nombres hexadécimaux. En PHP, vous pouvez utiliser des expressions régulières pour vérifier si l'entrée est une adresse IPv6. Voici comment utiliser les expressions régulières PHP pour vérifier les adresses IPv6. Étape 1 : Comprendre le format de l'adresse IPv6 L'adresse IPv6 se compose de 8 blocs hexadécimaux, chacun.

Comment vérifier si la chaîne est vide avec l'expression régulière PHP Comment vérifier si la chaîne est vide avec l'expression régulière PHP Jun 24, 2023 am 08:46 AM

En PHP, on peut utiliser des expressions régulières pour vérifier si une chaîne est vide. Les cas où la chaîne est vide sont les suivants : La chaîne ne contient que des espaces. La longueur de la chaîne est 0. La chaîne est nulle ou indéfinie. Nous verrons ensuite comment utiliser les expressions régulières en PHP pour valider ces situations. Expression régulière : s+ Cette expression régulière peut être utilisée pour faire correspondre des chaînes contenant uniquement des espaces. Où s signifie faire correspondre des espaces, + signifie faire correspondre un ou plusieurs. Exemple de code : functionisEmptySt

Comment valider le format du numéro de téléphone avec l'expression régulière PHP Comment valider le format du numéro de téléphone avec l'expression régulière PHP Jun 24, 2023 am 08:44 AM

Lors de l'écriture d'applications Web, vous devez souvent vérifier les numéros de téléphone. Une méthode courante en PHP consiste à utiliser des expressions régulières pour déterminer si le numéro de téléphone est au format correct. Les expressions régulières sont un outil puissant qui peut vous aider à identifier certains modèles dans des instructions concises. Vous trouverez ci-dessous un exemple d'utilisation d'expressions régulières en PHP pour valider le format du numéro de téléphone. Tout d’abord, définissons le format commun pour les numéros de téléphone. Les numéros de téléphone peuvent contenir des chiffres, des parenthèses, des traits d'union et des espaces. Un numéro de téléphone standard doit contenir 10 chiffres, précédés de

Expression régulière PHP pour vérifier si la chaîne d'entrée est au format numéro d'identification ou numéro de passeport Expression régulière PHP pour vérifier si la chaîne d'entrée est au format numéro d'identification ou numéro de passeport Jun 24, 2023 pm 12:11 PM

Le numéro d'identité et le numéro de passeport sont des numéros de documents courants dans la vie des gens. Lors de la mise en œuvre de fonctions impliquant ces numéros de documents, il est souvent nécessaire d'effectuer une vérification du format des numéros saisis pour garantir leur exactitude. En PHP, des expressions régulières peuvent être utilisées pour réaliser cette fonction. Cet article explique comment utiliser les expressions régulières PHP pour vérifier si la chaîne d'entrée est au format d'un numéro d'identification ou d'un numéro de passeport. 1. Vérification du numéro de carte d'identité Le numéro de carte d'identité est composé de 18 chiffres et le dernier chiffre peut être une lettre (code de contrôle). Son format est le suivant : les 6 premiers.

Comment vérifier le format de l'adresse URL avec l'expression régulière PHP Comment vérifier le format de l'adresse URL avec l'expression régulière PHP Jun 24, 2023 am 09:51 AM

Avec le développement rapide d'Internet, les adresses URL sont devenues un élément indispensable de la vie quotidienne des gens. Dans le développement Web, afin de garantir que l'adresse URL saisie par l'utilisateur peut être correctement reconnue et utilisée par le système, nous devons effectuer une vérification de format sur celle-ci. Cet article explique comment utiliser les expressions régulières PHP pour vérifier le format de l'adresse URL. 1. Composants de base des adresses URL Avant de comprendre comment vérifier le format de l'adresse URL, nous devons d'abord comprendre les composants de base des adresses URL. En règle générale, une adresse URL standard se compose de

Comment vérifier s'il s'agit d'un chemin de fichier en utilisant une expression régulière en PHP Comment vérifier s'il s'agit d'un chemin de fichier en utilisant une expression régulière en PHP Jun 24, 2023 am 10:18 AM

En PHP, les expressions régulières sont un outil de correspondance et de validation de chaînes couramment utilisé. Pendant le processus de développement, le chemin du fichier d'entrée doit être fréquemment vérifié pour garantir qu'il est au bon format. Cet article explique comment utiliser des expressions régulières pour vérifier si une chaîne est un chemin de fichier. Tout d’abord, nous devons déterminer le format de base d’un chemin de fichier. Dans les systèmes Windows, un chemin de fichier typique est dans un format similaire à « C:ProgramFilesPHPphp.exe ». Le parcours est divisé en les parties suivantes :

Comment éviter les attaques XSS dans le développement du langage PHP ? Comment éviter les attaques XSS dans le développement du langage PHP ? Jun 10, 2023 pm 04:18 PM

Avec la popularité d’Internet, les problèmes de sécurité des sites Web font l’objet de plus en plus d’attention. Parmi elles, les attaques XSS sont l’une des menaces de sécurité les plus courantes et les plus dangereuses. Le nom complet de XSS est Cross-sitescripting, qui se traduit en chinois par attaque de script intersite. Cela signifie que l'attaquant insère délibérément un morceau de code de script malveillant dans la page Web, affectant ainsi d'autres utilisateurs. Le langage PHP est un langage largement utilisé dans le développement web, alors comment éviter les attaques XSS dans le développement du langage PHP ? Cet article développera les aspects suivants. 1. Requête paramétrée

Comment vérifier l'adresse IPv4 à l'aide d'une expression régulière dans Golang Comment vérifier l'adresse IPv4 à l'aide d'une expression régulière dans Golang Jun 24, 2023 am 08:31 AM

Dans le domaine de la gestion des réseaux et systèmes informatiques, l’adresse IP est un concept très important. Parmi elles, l'adresse IPv4 est la plus courante. Elle est composée de quatre nombres décimaux (chaque nombre est compris entre 0 et 255), reliés par un point (.) au milieu. Dans Golang, les expressions régulières peuvent être facilement utilisées pour vérifier la validité des adresses IPv4. Voici comment utiliser des expressions régulières pour vérifier les adresses IPv4 : Tout d'abord, nous devons utiliser des expressions régulières pour faire correspondre les adresses IPv4. L'adresse IPv4 est composée de 4 chiffres, chaque chiffre commence à 0

See all articles