PHP 자체 테이프 방법 으로 메 일이 존재 하 는 지 확인
filter_var
filter_var 는 PHP 에 내 장 된 변수 필터 방법 으로 정수,부동 소수점,메 일,URL,MAC 주소 등 을 검사 할 수 있 는 실 용적 인 필 터 를 많이 제공 합 니 다.
filter_var 가 false 로 돌아 가면 변 수 는 필 터 를 통과 할 수 없다 는 것 을 설명 합 니 다.즉,비합법적 입 니 다.
$email = "[email protected]";
var_dump(filter_var($email, FILTER_VALIDATE_EMAIL));
$email = "asb";
var_dump(filter_var($email, FILTER_VALIDATE_EMAIL));
$email = "[email protected]";
var_dump(filter_var($email, FILTER_VALIDATE_EMAIL));
출력:
string(21) "[email protected]"
bool(false)
string(7) [email protected]
asb 라 는 불법 메 일 형식 에 대해 서 는 false 로 되 돌 아 왔 으 나[email protected]에 대해 서 는 통과 되 었 으 니 약간의 흠 이 있 습 니 다.그러나 일반적인 정규 도[email protected]가 합 법 적 인 메 일 로 여 겨 지 는데 어떤 방법 으로 더 정확하게 검증 할 수 있 습 니까?
checkdnsrr
checkdnsrr 는 지정 한 호스트 의 DNS 기록 을 조회 하 는 데 사 용 됩 니 다.메 일이 존재 하 는 지 확인 할 수 있 습 니 다.
[email protected]에 대해 서 는 MX 기록 이 존재 하지 않 는 것 이 분명 하 다.
$email = "[email protected]";
var_dump(checkdnsrr(array_pop(explode("@",$email)),"MX"));
$email = "[email protected]";
var_dump(checkdnsrr(array_pop(explode("@",$email)),"MX"));
출력:
bool(true)
bool(false)
완벽 하 다 는 것 을 알 수 있 습 니 다.유일한 단점 은 너무 느 린 것 입 니 다.인터넷 요청 을 해 야 하기 때 문 입 니 다.그래서 대량의 메 일 을 동시에 검사 하 는 데 적합 하지 않다.filter_var+checkdnsrr
우 리 는 filter 를 연결 할 수 있다.var 와 checkdnsrr 를 검사 합 니 다.절대 다수의 불법 메 일 은 filter 에 있 을 것 입 니 다.var 때 끊 고 나머지 는 다시 사용 합 니 다.
checkdnsrr 진일보 판단.
$email_arr = array("[email protected]", "[email protected]");
foreach($email_arr as $email) {
if (filter_var($email) === false) {
echo "invalid email: $email
";
continue;
}
if(checkdnsrr(array_pop(explode("@",$email)),"MX") === false) {
echo "invalid email: $email
";
continue;
}
}
출력:
invalid email: [email protected]
그러나 주의해 야 할 것 은 MX 기록 만 검사 하기 때문에 163.com 이 존재 한다 고 판단 할 수 있 을 뿐 lastchiliarch 라 는 사용자 가 존재 한 다 는 것 은 설명 할 수 없다 는 점 이다.메 일의 존 재 를 더 정확하게 판단 하려 면 smtp 서버 에 연결 해서 검증 할 수 밖 에 없습니다.
메 일 박스 인증,PHP 자체 방법 으로 메 일 박스,URL,IP 가 합 법 적 인지 검증 하 는 방법 을 소개 합 니 다.다음은 다음 과 같 습 니 다.
주로 filter 를 사용 합 니 다.var 함수.
문법
filter_var(variable, filter, options)
variable 필수.필터 할 변 수 를 규정 합 니 다.
filter 선택 가능.사용 할 필터 의 ID 를 지정 합 니 다.
options 는 표지/옵션 을 포함 하 는 배열 을 규정 합 니 다.모든 필터 의 가능 한 표지 와 옵션 을 검사 합 니 다.
PHP Filters
Example #1 A filter_var() example
<?php
var_dump(filter_var('[email protected]', FILTER_VALIDATE_EMAIL));
var_dump(filter_var('http://example.com', FILTER_VALIDATE_URL, FILTER_FLAG_PATH_REQUIRED));
?>
이상 루틴 출력:
string(15) "[email protected]"
bool(false)
이상 은 본 고의 모든 내용 입 니 다.여러분 에 게 phop 메 일 인증 을 하 는 데 도움 이 되 기 를 바 랍 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
laravel에 yo에서 angularJs&coffeescript를 사용할 수 있도록 한다.먼저 yo 명령을 사용할 수 있어야하므로 아래에서 설치 global에 설치한 곳에서 laravel의 프로젝트 루트로 이동. 클라이언트 코드를 관리하는 디렉토리를 만들고 이동합니다. 클라이언트 환경 만들기 이것으로 히...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.