Home  >  Article  >  Backend Development  >  How to verify domain name format with PHP regular expression

How to verify domain name format with PHP regular expression

WBOY
WBOYOriginal
2023-06-24 09:47:291672browse

With the development of the Internet, domain names have become an important part of the website. When developing a website, we need to verify the domain name entered by the user to ensure that it is formatted correctly and is legal. Regular expressions are a powerful tool that can help us verify the format of domain names quickly and accurately. The following is how to verify the domain name format using PHP regular expressions.

First of all, we need to understand the basic format of the domain name. A domain name consists of at least two parts separated by a decimal point. For example, www.example.com is a classic domain name. Among them, com represents the top-level domain name, example represents the second-level domain name, and www is the subdomain name. A domain name should be no longer than 253 characters, and each part should be no longer than 63 characters.

Next, we can use regular expressions to verify the format of the domain name. The following is a simple regular expression:

/^([a-zA-Z0-9](-*[a-zA-Z0-9])*.)+[a-zA-Z]{2,}$/ 

This regular expression can detect whether a domain name meets the following rules:

  1. Starts with letters or numbers, can have hyphens in the middle, and finally Ending with a letter;
  2. is composed of multiple parts, each part is separated by a decimal point;
  3. The top-level domain name must be two or more letters, such as com, cn, net, etc.

In PHP, we can use the preg_match() function to match regular expressions. The following is an example:

$domain = "www.example.com";
if (preg_match("/^([a-zA-Z0-9](-*[a-zA-Z0-9])*.)+[a-zA-Z]{2,}$/", $domain)) {
    echo "Valid domain name";
} else {
    echo "Invalid domain name";
}

This code will check whether the value of the $domain variable matches the regular expression. If it matches, "Valid domain name" is output. Otherwise, "Invalid domain name" is output.

In addition to the above regular expressions, we can also write different expressions according to specific needs. For example, the following regular expression can detect whether there is an IP address:

/^d{1,3}.d{1,3}.d{1,3}.d{1,3}$/

If the domain name may contain Chinese characters, we can use the following regular expression:

/^([a-zA-Z0-9]|[u4e00-u9fa5](-*([a-zA-Z0-9]|[u4e00-u9fa5])){0,1}.)+[a-zA-Z]{2,}$/

This regular expression supports Chinese input, There can be hyphens between Chinese and English, and they end with letters.

In actual development, we can also add more conditions, such as limiting the length of input, converting to lowercase, etc.

To sum up, using regular expressions can quickly and accurately verify the format of the domain name. Writing regular expressions in PHP is also very simple. You just need to clarify the rules and refer to the above examples. The above examples can help developers quickly complete domain name format verification and improve code readability and maintainability.

The above is the detailed content of How to verify domain name format with 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