Home Backend Development PHP Tutorial Implementation and detailed explanation of regular expression of email address in PHP_PHP tutorial

Implementation and detailed explanation of regular expression of email address in PHP_PHP tutorial

Jul 21, 2016 pm 03:19 PM
php and code address copy accomplish regular expression Detailed explanation Mail first

First attach the code

Copy the code The code is as follows:

^[_.0-9a-z-]+@( [0-9a-z][0-9a-z-]+.)+[a-z]{2,3}$

In this regular expression, "+" means the preceding One or more strings appear continuously; "^" means that the next string must appear at the beginning, "$" means that the previous string must appear at the end;
"." is also ".", here " " is an escape character; "{2,3}" means that the previous string can appear 2-3 times in a row. "()" indicates that the contained content must also appear in the target object. "[_.0-9a-z-]" means any character contained in "_", ".", "-", letters in the range from a to z, and numbers in the range from 0 to 9;
In this way, this regular expression can be translated like this:
"The following characters must be at the beginning (^)", "The characters must be contained in "_", ".", "-", from a to Letters in the z range, numbers in the range 0 to 9 ([_.0-9a-z-])", "The preceding character appears at least once (+)", @, "The string consists of Begins with a letter in the range a to z, a number in the range 0 to 9, followed by at least one character contained in "-", any letter in the range a to z, in the range 0 to 9 Any character in a number ends with . (([0-9a-z][0-9a-z-]+.))", "The previous character appears at least once (+)", "From a to Letters in the z range appear 2-3 times and end with it ([a-z]{2,3}$)"
Copy code The code is as follows:

function is_valid_email($email, $test_mx = false)
{
if(eregi("^([_a-z0-9-]+)(.[_a-z0 -9-]+)*@([a-z0-9-]+)(.[a-z0-9-]+)*(.[a-z]{2,4})[ wind_phpcode_0 ]quot;, $ email))
if($test_mx)
{
list($username, $domain) = split("@", $email);
return getmxrr($domain, $mxrecords);
}
else
return true;
else
return false;
}

The domain name consists of the specific character set, English letters, and numbers of each country's script and "-" (i.e. hyphen or minus sign), but cannot contain "-" at the beginning or end, and "-" cannot appear consecutively in the domain name. The domain name can have up to 60 characters. Bytes (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 constitutes a case-insensitive regular expression;
^ Match start

$ Match end

[a-z] E-Mail prefix must be an English Letters starting with

([a-z0-9]*[-_]?[a-z0-9]+)* match _a_2, aaa11, _1_a_2, but do not match a1_, aaff_33a_, a__aa, If it is a null character, it is also matched, and * 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 1 or more English letters or numbers, because "-" cannot be used as The ending

@ must have @

([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 generally They are all 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 the string:
Copy the code The code is as follows:

function getEmail ($str) {
$pattern = "/([a-z0-9]*[-_.]?[a-z0-9]+)*@([a-z0-9]*[- _]?[a-z0-9]+)+[.][a-z]{2,3}([.][a-z]{2})?/i";
preg_match_all($pattern,$str . hh@qq.com;.;;,fuyongjie.100@yahoo.com,fu-1999@sina.com";
$emailArr = getEmail($emailstr);
echo "
"; <br>print_r($emailArr); <br>echo "
";
?>Print 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
) 3. Comparison: The ^ and $ in the 1st are not included in the regular expression in the 2nd;


Look at the example


Copy code
The code is as follows:

function funcemail($str)//Mailbox regular expression
{
return (preg_match('/^[_.0-9a-z-a-z-]+@([0-9a- z][0-9a-z-]+.)+[a-z]{2,4}$/',$str))?true:false;
}//Verification method one
$str= "qbcd@126.com.cn";
preg_match("/^[0-9a-z]+@(([0-9a-z]+)[.])+[a-z]{2,3 }$/",$str,$re);
print_r($re);//Email verification 2
if (eregi("^[_.0-9a-z-]+@([0 -9a-z][0-9a-z-]+.)+[a-z]{2,3}$",$email)) {
echo "Your email passed the preliminary check";
}//The third email verification method

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!";
}

www.bkjia.comtruehttp: //www.bkjia.com/PHPjc/325326.htmlTechArticleFirst attach the code and copy the code as follows: ^[_.0-9a-z-]+@([ 0-9a-z][0-9a-z-]+.)+[a-z]{2,3}$ In this regular expression, "+" means that one or more of the previous strings appear continuously; ...
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 Article

Roblox: Bubble Gum Simulator Infinity - How To Get And Use Royal Keys
3 weeks ago By 尊渡假赌尊渡假赌尊渡假赌
Nordhold: Fusion System, Explained
3 weeks ago By 尊渡假赌尊渡假赌尊渡假赌

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)

Hot Topics

Java Tutorial
1664
14
PHP Tutorial
1269
29
C# Tutorial
1248
24
Download the official website of Ouyi Exchange app for Apple mobile phone Download the official website of Ouyi Exchange app for Apple mobile phone Apr 28, 2025 pm 06:57 PM

The Ouyi Exchange app supports downloading of Apple mobile phones, visit the official website, click the "Apple Mobile" option, obtain and install it in the App Store, register or log in to conduct cryptocurrency trading.

Sesame Open Door Official Website Entrance Sesame Open Door Official Latest Entrance 2025 Sesame Open Door Official Website Entrance Sesame Open Door Official Latest Entrance 2025 Apr 28, 2025 pm 07:51 PM

Sesame Open Door is a platform that focuses on cryptocurrency trading. Users can obtain portals through official websites or social media to ensure that the authenticity of SSL certificates and website content is verified during access.

Binance official website entrance Binance official latest entrance 2025 Binance official website entrance Binance official latest entrance 2025 Apr 28, 2025 pm 07:54 PM

Visit Binance official website and check HTTPS and green lock logos to avoid phishing websites, and official applications can also be accessed safely.

Composer: Aiding PHP Development Through AI Composer: Aiding PHP Development Through AI Apr 29, 2025 am 12:27 AM

AI can help optimize the use of Composer. Specific methods include: 1. Dependency management optimization: AI analyzes dependencies, recommends the best version combination, and reduces conflicts. 2. Automated code generation: AI generates composer.json files that conform to best practices. 3. Improve code quality: AI detects potential problems, provides optimization suggestions, and improves code quality. These methods are implemented through machine learning and natural language processing technologies to help developers improve efficiency and code quality.

What is the significance of the session_start() function? What is the significance of the session_start() function? May 03, 2025 am 12:18 AM

session_start()iscrucialinPHPformanagingusersessions.1)Itinitiatesanewsessionifnoneexists,2)resumesanexistingsession,and3)setsasessioncookieforcontinuityacrossrequests,enablingapplicationslikeuserauthenticationandpersonalizedcontent.

How to log out of Binance How to log out of Binance How to log out of Binance How to log out of Binance Apr 28, 2025 pm 07:45 PM

To cancel a Binance account, you need to complete the following steps: 1) Ensure all asset transfers, 2) Cancel all pending orders, 3) Unlock API keys, 4) Close all open contracts; then log in to Binance official website, enter the "User Center", select "Account Logout", fill in the reason for the cancellation, confirm the asset transfer, submit an application and wait for review, confirm the cancellation after the review is passed, and the account cannot be restored after the cancellation.

How to download, install and register the Hong Kong Digital Currency Exchange app 2025 How to download, install and register the Hong Kong Digital Currency Exchange app 2025 Apr 30, 2025 pm 07:18 PM

The download, installation and registration process of the Hong Kong Digital Currency Exchange app is very simple. Users can quickly obtain and use this app through the official app download link provided in this article. This article will introduce in detail how to download, install and register the Hong Kong Digital Currency Exchange app to ensure that every user can complete the operation smoothly.

How to use MySQL functions for data processing and calculation How to use MySQL functions for data processing and calculation Apr 29, 2025 pm 04:21 PM

MySQL functions can be used for data processing and calculation. 1. Basic usage includes string processing, date calculation and mathematical operations. 2. Advanced usage involves combining multiple functions to implement complex operations. 3. Performance optimization requires avoiding the use of functions in the WHERE clause and using GROUPBY and temporary tables.

See all articles