Rexact
Cheatsheet

Regex adresse IPv4

Beaucoup de regex IPv4 trouvées en ligne se contentent de compter les chiffres (1 à 3 par octet) sans jamais vérifier qu'un octet reste sous 256. Voici un motif qui vérifie réellement chaque octet, comparé aux versions les plus copiées.

/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])$/
passe 22/22 cas

Comparatif des patterns existants

Implémentation

const re = new RegExp("^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])$", "");
re.test(input);

Limites

  • Valide seulement la forme : n'indique pas si l'adresse est routable, privée (RFC 1918) ou réellement attribuée.
  • N'accepte pas la notation CIDR (ex. « 192.168.1.0/24 ») : un motif séparé est nécessaire pour valider un préfixe réseau.
  • N'accepte pas les formes historiques abrégées (« 127.1 » pour 127.0.0.1, ou un entier décimal unique comme « 2130706433 ») que certains outils systèmes tolèrent encore par héritage.
  • Ne couvre pas IPv6 ni les adresses IPv4-mapped IPv6 (ex. « ::ffff:192.168.1.1 »).

Pages liées