- 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 CodeThe following describes the method of matching the domain name with PHP. We know that the international Domain name format is as follows: The domain name is a specific character set of national characters, English letters, numbers and "-" (that is, hyphens or minus) any combination, but the beginning and the end can not contain "-", "-" can not appear consecutively. The letters in the domain name are not case-sensitive. The domain name can be up to 60 bytes long (including suffix. com,. NET,. org, and so on). /^[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 be an English letter beginning ([a-z0-9]*[-_]?[ a-z0-9]+) * and _a_2, AAA11, _1_a_2 matches, and a1_, Aaff_33a_, A__aa do not match, if it is a null character, is also matched, * represents 0 or more. * Represents 0 or more of the preceding characters. [a-z0-9]* matches 0 or more English letters or numbers [-_]? Match 0 or 1 "-" because "-" cannot appear consecutively [a-z0-9]+ matches 1 or more English letters or numbers, because "-" cannot be the end @ must have a @ ([a-z0-9]*[-_]?[ a-z0-9]+) + See above ([a-z0-9]*[-_]?[ a-z0-9]+) * explanation, but cannot be empty, + denotes one or more. [\.] The special character (.) As a normal character [a-z]{2,3} matches 2 to 3 English letters, usually COM or net, and so on. ([\.] [A-z] {2})? Match 0 or 1 [\.] [A-z] {2} (e.g.. CN, etc.) I don't know the general. Com.cn the last part is not all two-bit, if not please modify {2} to {start Word, end Word} 2. Extract the email from the string:
- 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, $EMAILARR);
- return $EMAILARR [0];
- }
- $emailstr = "9999@qq.com.cn I am not a M VI place on the IID mailing list: fuyongjie@163.com and hh@qq.com;. ;;, fuyongjie.100@yahoo.com,fu-1999@sina.com ";
- $EMAILARR = Getemail ($EMAILSTR);
- echo "
"; - Print_r ($EMAILARR);
- echo "
";
- ?>
Copy CodeOutput Result:
- 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 Code3, Comparison: 2nd in the regular there is no 1th ^ and $; Just introduce these, I hope you learn PHP is a certain help. The programmer's home, wish everybody to study the progress. |