Home >Backend Development >PHP Tutorial >How to use PHP regular expression to verify whether the input string is the correct email address

How to use PHP regular expression to verify whether the input string is the correct email address

王林
王林Original
2023-06-24 17:03:451196browse

With the development of the Internet, email has become an indispensable part of people's daily lives. In website development, validating user-entered email addresses is a necessary and common operation. This article will introduce how to use PHP regular expressions to verify whether the input string is the correct email address.

  1. Understand regular expressions

A regular expression is a tool used to match character patterns. In PHP, regular matching of strings is achieved by using the preg_match() function. The syntax is as follows:

preg_match($pattern, $subject, $matches);

where $pattern is a regular expression, $subject is the string that needs to be matched, and $matches is the matching result. The function returns 1 or 0, indicating successful match and failure respectively.

  1. Specify the email address format

Before verifying the email address, you need to first clarify what the correct email address format is. Generally speaking, a legal email address should meet the following requirements:

  • The email address is divided into two parts by the "@" symbol, the left half is the user name, and the right half is the mail server (Includes domain name and hostname).
  • The username cannot contain the @ symbol, and cannot start or end with a period ".".
  • A domain name consists of one or more characters separated by one or more periods ".".
  • The last domain name segment is the top-level domain name, including "com", "cn", "org", etc.
  1. Writing regular expressions

After understanding the legal email address format, we can write regular expressions according to the rules. The following is a common regular expression for verifying email addresses:

$pattern = '/^[w-.]+@([w-]+.)+[a-zA-Z]{2,4}$/';

Among them, ^ means that it must start with the regular expression, and $ means that it must end with the regular expression. [w-.] represents the user name, which can be one or more consecutive characters of English letters, numbers, underscores, dashes, and periods. @ represents the delimiter. ([w-] .) represents a domain name, a string consisting of several letters, numbers, underscores, and dashes followed by one or more periods. Finally, [a-zA-Z]{2,4} represents the top-level domain name, which is only allowed to consist of 2 to 4 letters.

  1. Implementation code

After writing the regular expression, we can use it in the PHP code to verify the email address. The following is a PHP code that uses the preg_match() function to verify the input string:

$email = $_POST['email'];
$pattern = '/^[w-.]+@([w-]+.)+[a-zA-Z]{2,4}$/';
if (preg_match($pattern, $email)) {
    echo "邮箱地址正确!";
} else {
    echo "邮箱地址不正确!";
}

First, we get the email address entered by the user through $_POST[] and save it in the $email variable. Then, use the above regular expression to determine whether the input string is the correct email address. If the match is successful, "The email address is correct!" is output; otherwise, "The email address is incorrect!" is output.

  1. Conclusion

This article introduces how to use PHP regular expressions to verify whether the input string is the correct email address. In actual projects, email address verification is essential, and mastering the matching rules of regular expressions and the use of PHP functions can help us better complete the verification operation.

The above is the detailed content of How to use PHP regular expression to verify whether the input string is the correct email address. 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