Home Backend Development PHP Tutorial PHP uses regular expressions to verify email addresses

PHP uses regular expressions to verify email addresses

Jul 16, 2017 am 09:50 AM
email php Mail

E-mail, like ordinary mail, also requires an address. The difference between it and ordinary mail is that it is an electronic address. All users with mailboxes on the Internet have one or several email addresses of their own, and these email addresses are all unique. The mail server sends each email to each user's mailbox based on these addresses. The Email address is the user's mailbox address. Just like regular mail, whether you can receive your email depends on whether you have obtained the correct email address. A complete Internet email address is composed of the following two parts. The format is as follows: login name@hostname.domain name. It is separated by a symbol "@" representing "at" (at) in the middle. The symbol The left side of is the other party's login name, and the right side is the complete host name, which consists of the host name and domain name. Among them, the domain name consists of several parts, each part is called a subdomain (Subdomain), and each subdomain is separated by a dot ".". Each subdomain will tell the user some information about this mail server.
php Regular matching email code

1. Verify email:

 < ?php 
   if (ereg("/^[a-z]([a-z0-9]*[-_\.]?[a-z0-9]+)*@([a-z0-9]*[-_]?[a-z0-9]+)+[\.][a-z]{2,3}([\.][a-z]{2})?$/i; ",$email)){ 
echo “Your email address is correct!”;} 
   else{ 
echo "Please try again!"; 
} 
?>
Copy after login

or

$str = &#39;&#39;;
$isMatched = preg_match(&#39;/^\w[-\w.+]*@([A-Za-z0-9][-A-Za-z0-9]+\.)+[A-Za-z]{2,14}$/&#39;, $str, $matches);
var_dump($isMatched, $matches);
Copy after login

matches the

regular expression of the Email mailbox format Formula

:

Analysis:

/content/i constitutes a case-insensitive regular expression;

^ Match start
$ Match end
[a-z] The E-Mail prefix must start with an English letter

([a-z0-9]*[-_]?[a-z0-9]+)* and match _a_2, aaa11, _1_a_2, and a1_, aaff_33a_, and aaa do not match. If they are empty characters, they are also matched. * means 0 or more.
* represents 0 or more previous characters.
[a-z0-9]* matches 0 or more English letters or numbers
[-_]? matches 0 or 1 "- ", because "-" cannot appear continuously
[a-z0-9]+ matches one or more English letters or numbers, because "-" cannot be used as the end

@ There must be one @
([a-z0-9]*[-_]?[a-z0-9]+)+ see above ([a-z0-9]*[-_]?[a-z0-9 ]+)* explanation, but it cannot be empty, + means one or more.
[\.] Treat
special characters
(.) as ordinary characters [a-z]{2,3} to match 2 to 3 English letters, usually com or net, etc. ([\.][a-z]{2})? Matches 0 or 1 [\.][a-z]{2} (such as .cn, etc.) I don’t know if the last part of .com.cn is generally It is two digits. If not, please modify {2} to {number of starting words, number of ending words}

This regular expression used to match email addresses is relatively strong, powerful, wide-coverage, and useful. Save it for your friends.
The format of the international domain name is as follows:

The domain name is composed of any combination of the specific
character set
of each country's language, English letters, numbers and "-" (i.e. hyphen or minus sign). However, neither the beginning nor the end can contain "-", and "-" cannot appear continuously. Letters in domain names are not case-sensitive. The domain name can be up to 60 bytes long (including suffixes .com, .net, .org, etc.). /^[a-z]([a-z0-9]*[-_]?[a-z0-9]+)*@([a-z0-9]*[-_]?[a- z0-9]+)+[\.][a-z]{2,3}([\.][a-z]{2})?$/i; /content/i forms a case-insensitive Regular expression;
^ Match start
$ Match end
[a-z] The E-Mail prefix must start with an English letter
([a-z0-9]*[-_]?[ a-z0-9]+)* matches _a_2, aaa11, _1_a_2, but does not match a1_, aaff_33a_, aaa. If it is a null character, it will also match. * means 0 or more.
* represents 0 or more previous characters.
[a-z0-9]* matches 0 or more English letters or numbers
[-_]? matches 0 or 1 "- ", because "-" cannot appear continuously
[a-z0-9]+ matches one or more English letters or numbers, because "-" cannot be used as the end
@ There must be @
([a-z0-9]*[-_]?[a-z0-9]+)+ see above ([a-z0-9]*[-_]?[a-z0-9]+) *Explanation, but it cannot be empty, + means one or more.
[\.] Treat special characters (.) as ordinary characters
[a-z]{2,3} matches 2 to 3 English letters, usually com or net, etc.
([\. ][a-z]{2})? Matches 0 or 1 [\.][a-z]{2} (such as .cn, etc.) I don’t know if the last part of .com.cn is usually two digits. If not, please modify {2} to {number of starting words, number of ending words}
Perfect E-Mail regular expression, with detailed explanation, please help test it! 2. Extract the email in
String
:

Run as follows:

Array 
( 
[0] => 9999@qq.com.cn 
[1] => fuyongjie@163.com 
[2] => hh@qq.com 
[3] => fuyongjie.100@yahoo.com 
[4] => fu-1999@sina.com 
)
Copy after login

3. Compare: The regular expression in the second one does not contain the first one. ^and$;

The above is the detailed content of PHP uses regular expressions to verify email addresses. For more information, please follow other related articles on the PHP Chinese website!

Statement of this Website
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

Hot AI Tools

Undresser.AI Undress

Undresser.AI Undress

AI-powered app for creating realistic nude photos

AI Clothes Remover

AI Clothes Remover

Online AI tool for removing clothes from photos.

Undress AI Tool

Undress AI Tool

Undress images for free

Clothoff.io

Clothoff.io

AI clothes remover

Video Face Swap

Video Face Swap

Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Tools

Notepad++7.3.1

Notepad++7.3.1

Easy-to-use and free code editor

SublimeText3 Chinese version

SublimeText3 Chinese version

Chinese version, very easy to use

Zend Studio 13.0.1

Zend Studio 13.0.1

Powerful PHP integrated development environment

Dreamweaver CS6

Dreamweaver CS6

Visual web development tools

SublimeText3 Mac version

SublimeText3 Mac version

God-level code editing software (SublimeText3)

PHP and Python: Different Paradigms Explained PHP and Python: Different Paradigms Explained Apr 18, 2025 am 12:26 AM

PHP is mainly procedural programming, but also supports object-oriented programming (OOP); Python supports a variety of paradigms, including OOP, functional and procedural programming. PHP is suitable for web development, and Python is suitable for a variety of applications such as data analysis and machine learning.

PHP and Python: A Deep Dive into Their History PHP and Python: A Deep Dive into Their History Apr 18, 2025 am 12:25 AM

PHP originated in 1994 and was developed by RasmusLerdorf. It was originally used to track website visitors and gradually evolved into a server-side scripting language and was widely used in web development. Python was developed by Guidovan Rossum in the late 1980s and was first released in 1991. It emphasizes code readability and simplicity, and is suitable for scientific computing, data analysis and other fields.

How to simplify email marketing with Composer: DUWA.io's application practices How to simplify email marketing with Composer: DUWA.io's application practices Apr 18, 2025 am 11:27 AM

I'm having a tricky problem when doing a mail marketing campaign: how to efficiently create and send mail in HTML format. The traditional approach is to write code manually and send emails using an SMTP server, but this is not only time consuming, but also error-prone. After trying multiple solutions, I discovered DUWA.io, a simple and easy-to-use RESTAPI that helps me create and send HTML mail quickly. To further simplify the development process, I decided to use Composer to install and manage DUWA.io's PHP library - captaindoe/duwa.

The Continued Use of PHP: Reasons for Its Endurance The Continued Use of PHP: Reasons for Its Endurance Apr 19, 2025 am 12:23 AM

What’s still popular is the ease of use, flexibility and a strong ecosystem. 1) Ease of use and simple syntax make it the first choice for beginners. 2) Closely integrated with web development, excellent interaction with HTTP requests and database. 3) The huge ecosystem provides a wealth of tools and libraries. 4) Active community and open source nature adapts them to new needs and technology trends.

Top 10 Digital Virtual Currency Apps Rankings: Top 10 Digital Currency Exchanges in Currency Circle Trading Top 10 Digital Virtual Currency Apps Rankings: Top 10 Digital Currency Exchanges in Currency Circle Trading Apr 22, 2025 pm 03:00 PM

The top ten digital virtual currency apps are: 1. OKX, 2. Binance, 3. gate.io, 4. Coinbase, 5. Kraken, 6. Huobi, 7. KuCoin, 8. Bitfinex, 9. Bitstamp, 10. Poloniex. These exchanges are selected based on factors such as transaction volume, user experience and security, and all provide a variety of digital currency trading services and an efficient trading experience.

bitget new user registration guide 2025 bitget new user registration guide 2025 Apr 21, 2025 pm 10:09 PM

The steps to register for Bitget in 2025 include: 1. Prepare a valid email or mobile phone number and a stable network; 2. Visit the Bitget official website; 3. Enter the registration page; 4. Select the registration method; 5. Fill in the registration information; 6. Agree to the user agreement; 7. Complete verification; 8. Obtain and fill in the verification code; 9. Complete registration. After registering, it is recommended to log in to the account, perform KYC identity verification, and set up security measures to ensure the security of the account.

Can two exchanges convert coins to each other? Can two exchanges convert coins to each other? Can two exchanges convert coins to each other? Can two exchanges convert coins to each other? Apr 22, 2025 am 08:57 AM

Can. The two exchanges can transfer coins to each other as long as they support the same currency and network. The steps include: 1. Obtain the collection address, 2. Initiate a withdrawal request, 3. Wait for confirmation. Notes: 1. Select the correct transfer network, 2. Check the address carefully, 3. Understand the handling fee, 4. Pay attention to the account time, 5. Confirm that the exchange supports this currency, 6. Pay attention to the minimum withdrawal amount.

The Compatibility of IIS and PHP: A Deep Dive The Compatibility of IIS and PHP: A Deep Dive Apr 22, 2025 am 12:01 AM

IIS and PHP are compatible and are implemented through FastCGI. 1.IIS forwards the .php file request to the FastCGI module through the configuration file. 2. The FastCGI module starts the PHP process to process requests to improve performance and stability. 3. In actual applications, you need to pay attention to configuration details, error debugging and performance optimization.

See all articles