> 백엔드 개발 > PHP 튜토리얼 > PHP는 정규식을 사용하여 이메일 주소를 확인합니다.

PHP는 정규식을 사용하여 이메일 주소를 확인합니다.

怪我咯
풀어 주다: 2023-03-14 06:30:02
원래의
8528명이 탐색했습니다.

이메일도 일반 우편과 마찬가지로 주소가 필요합니다. 일반 우편과 다른 점은 전자 주소라는 점입니다. 인터넷에 사서함이 있는 모든 사용자는 자신의 이메일 주소를 하나 이상 가지고 있으며 이러한 이메일 주소는 모두 고유합니다. 메일 서버는 이러한 주소를 기반으로 각 이메일을 각 사용자의 사서함으로 보냅니다. 일반 우편과 마찬가지로 이메일을 받을 수 있는지 여부는 올바른 이메일 주소를 얻었는지 여부에 따라 달라집니다. 완전한 인터넷 이메일 주소는 다음 두 부분으로 구성됩니다. 로그인 이름@호스트 이름.도메인 이름은 가운데에 "at"(at)을 의미하는 "@" 기호로 구분됩니다. 기호 측면은 상대방 로그인 이름이고 오른쪽은 호스트 이름과 도메인 이름으로 구성된 전체 호스트 이름입니다. 그중 도메인 이름은 여러 부분으로 구성되며 각 부분을 하위 도메인(하위 도메인)이라고 하며 각 하위 도메인은 점(.)으로 구분됩니다. 각 하위 도메인은 사용자에게 이 메일 서버에 대한 일부 정보를 알려줍니다.
php 정규 일치 이메일 코드

1. 이메일 확인:

 < ?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!"; 
} 
?>
로그인 후 복사

또는

$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);
로그인 후 복사

이메일 사서함 형식의

정규식

과 일치:

분석:

/content/i는 대소문자를 구분하지 않는 일반을 구성합니다. 표현식;

^ 일치 시작
$ 일치 종료
[a-z] 이메일 접두어는 영문자로 시작해야 합니다

([a-z0-9]*[-_]?[a-z0-9]+ )*는 _a_2, aaa11, _1_a_2와 일치하지만 a1_, aaff_33a_, aaa와 일치하지 않습니다. null 문자인 경우 *도 0 이상과 일치합니다.
*는 0개 이상의 이전 문자를 나타냅니다.
[a-z0-9]*는 0개 이상의 영문자 또는 숫자와 일치합니다.
[-_]?는 0 또는 1개의 "-"와 일치합니다. "-"는 연속해서 나타날 수 없기 때문입니다.
[a -z0-9]+는 하나 이상의 영문자 또는 숫자와 일치합니다. "-"는 끝으로 사용할 수 없기 때문입니다.

@ @
([a-z0-9]*[ -_]?[a- z0-9]+)+ 위의 ([a-z0-9]*[-_]?[a-z0-9]+)* 설명을 참조하세요. 그러나 비워 둘 수 없습니다. +는 하나 또는 여러 개를 의미합니다.
[.]
특수 문자
(.)를 일반 문자 [a-z]{2,3}로 처리하여 2~3개의 영어 문자(일반적으로 com 또는 net 등)와 일치시킵니다. ([.][a-z]{2 } )? 일치 0 또는 1 [.][a-z]{2}(예: .cn 등) .com.cn의 마지막 부분이 일반적으로 두 자리인지 모르겠습니다. 그렇지 않은 경우 {2를 수정하세요. } ~ {시작 단어 수, 끝 단어 수}

이메일 주소를 일치시키는 데 사용되는 이 정규 표현식은 상대적으로 강력하고 강력하며 적용 범위가 넓습니다. 유용하다고 생각하는 친구는 즐겨찾기에 추가할 수 있습니다.
국제 도메인 이름의 형식은 다음과 같습니다.

도메인 이름은 각 국가의 언어별 특정
문자 집합
, 영문자, 숫자 및 "-"(하이픈 또는 빼기 기호)의 조합으로 구성됩니다. 단, 시작이나 끝에 "-"를 포함할 수 없습니다. "-"는 연속해서 나타날 수 없습니다. 도메인 이름의 문자는 대소문자를 구분하지 않습니다. 도메인 이름의 길이는 최대 60바이트입니다(접미사 .com, .net, .org 등 포함). /^[a-z]([a-z0-9]*[-_]?[a-z0-9]+)*@([a-z0-9]*[-_]?[a-z0- 9]+)+[.][a-z]{2,3}([.][a-z]{2})?$/i; /content/i는 대소문자를 구분하지 않는 정규식을 형성합니다.
^ 일치 시작
$ 일치 종료
[a-z] 이메일 접두사는 영문자로 시작해야 합니다
([a-z0-9]*[-_]?[a-z0-9]+)* 및 _a_2, aaa11 , _1_a_2 일치, 그러나 a1_, aaff_33a_ 및 aaa와 일치하지 않습니다. null 문자인 경우에도 *는 0 이상을 의미합니다.
*는 0개 이상의 이전 문자를 나타냅니다.
[a-z0-9]*는 0개 이상의 영문자 또는 숫자와 일치합니다.
[-_]?는 0 또는 1개의 "-"와 일치합니다. "-"는 연속해서 나타날 수 없기 때문입니다.
[a -z0-9]+는 1개 이상의 영문자 또는 숫자와 일치합니다. "-"는 끝으로 사용할 수 없기 때문입니다.
@ 반드시 @
([a-z0-9]*[- _]?[a-z0 -9]+)+ 위의 ([a-z0-9]*[-_]?[a-z0-9]+)* 설명을 참조하세요. 그러나 비워둘 수 없습니다. +는 하나 또는 여러 개를 의미합니다.
[.]는 특수 문자(.)를 일반 문자로 처리합니다.
[a-z]{2,3}는 2~3개의 영어 문자(일반적으로 com 또는 net 등)와 일치합니다.
([.][a-z]{2}) ? 0 또는 1 [.][a-z]{2}(예: .cn 등) .com.cn의 마지막 부분이 일반적으로 두 자리인지 모르겠습니다. 그렇지 않은 경우 {2}를 {로 변경하세요. 시작 단어 수, 끝 단어 수}
완벽한 이메일 정규 표현식, 자세한 설명과 함께 테스트를 도와주세요! 2.
string
에서 이메일을 추출합니다.

다음과 같이 실행합니다.

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. 비교: 첫 번째 ^와 $는 두 번째 정규식에 포함되지 않습니다.

위 내용은 PHP는 정규식을 사용하여 이메일 주소를 확인합니다.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿