Home >Backend Development >PHP Tutorial >How to verify if input string is in IPv4 address format using PHP regular expression

How to verify if input string is in IPv4 address format using PHP regular expression

WBOY
WBOYOriginal
2023-06-24 16:26:221247browse

How to use PHP regular expressions to verify whether the input string is in IPv4 address format

In the Internet, IP addresses are a necessary condition for mutual communication. IPv4, as the most commonly used IP address format, is currently the most popular IP address format. The format used by most devices. In PHP, we can use regular expressions to verify whether an input string is an IP address in IPv4 format. This article will introduce how to use PHP regular expressions to verify whether the input string is in IPv4 address format.

IPv4 address format

The IPv4 address is a 32-bit binary number, usually written as four decimal digits, with each number separated by a dot, such as 192.168.1.1. In the IPv4 address format, each number is a decimal number between 0 and 255, and the IPv4 address cannot contain any other characters or punctuation marks.

Verify PHP regular expression for IPv4 address

In PHP, we can use the preg_match function to verify whether a string matches a specific regular expression. The following is a PHP regular expression for validating IPv4 addresses:

$ipv4_regex = "/^([01]?[0-9]{1,2}|2[0-4][0-9]|25[0-5]).([01]?[0-9]{1,2}|2[0-4][0-9]|25[0-5]).([01]?[0-9]{1,2}|2[0-4][0-9]|25[0-5]).([01]?[0-9]{1,2}|2[0-4][0-9]|25[0-5])$/";

This regular expression contains four subexpressions, each used to match four decimal digits, and each subexpression has the following three parts :

  1. ##[01]?[0-9]{1,2}: Matches numbers between 0 and 99, allowing numbers starting with 0.
  2. 2[0-4][0-9]: Matches numbers between 200 and 249.
  3. 25[0-5]: Matches numbers between 250 and 255.
Use the above regular expression to match IP address strings that conform to the IPv4 address format.

IP address verification PHP code implementation

The following is a complete PHP example for checking whether an input string conforms to the IPv4 address format:

function validate_ipv4_address($ipv4_string) {
  $ipv4_regex = "/^([01]?[0-9]{1,2}|2[0-4][0-9]|25[0-5]).([01]?[0-9]{1,2}|2[0-4][0-9]|25[0-5]).([01]?[0-9]{1,2}|2[0-4][0-9]|25[0-5]).([01]?[0-9]{1,2}|2[0-4][0-9]|25[0-5])$/";
  return preg_match($ipv4_regex, $ipv4_string);
}

// Example usage:
$valid_ipv4_address = "192.168.1.1";
$invalid_ipv4_address = "192.168.1.333";

if(validate_ipv4_address($valid_ipv4_address)) {
  echo "$valid_ipv4_address is a valid IPv4 address";
} else {
  echo "$valid_ipv4_address is not a valid IPv4 address";
}

if(validate_ipv4_address($invalid_ipv4_address)) {
  echo "$invalid_ipv4_address is a valid IPv4 address";
} else {
  echo "$invalid_ipv4_address is not a valid IPv4 address";
}

When entering an When the string conforms to the IPv4 address format, the

validate_ipv4_address function will return 1, otherwise it will return 0. In the above example, the first output statement will output "192.168.1.1 is a valid IPv4 address", while the second output statement will output "192.168.1.333 is not a valid IPv4 address".

Conclusion

By using PHP regular expressions, we can easily verify whether the input string is in IPv4 address format. The above example can be used as your reference to use PHP regular expressions in applications that need to verify IPv4 addresses.

The above is the detailed content of How to verify if input string is in IPv4 address format using PHP regular expression. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn