2012-01-18 3 views
0

아래 표현식에서 유효한 전자 메일이 있는지 확인합니다. 나는 PPL을 확인하는 방법을 내 질문은 | pplweb는 @ 기호하여 분리 배열의 두 요소에 $email VAR을 분할 할 수 있습니다 @ 기호 후 이메일 주소를이메일의 특정 문자에 대한 Reg 표현

!preg_match("^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,3})$", $email) 

감사

+1

분명히, 당신은'.info' 도메인 소유자를별로 좋아하지 않습니다. '박물관'은 말할 것도 없습니다. 진지하게, 이것은 나쁜 정규식이다. regexen으로 전자 메일 주소의 유효성을 검사하지 마십시오. –

+0

더 좋은 방법이 있습니까? – user747796

답변

1

입니다 다음

$splitted_email = explode('@',$email); 

하고 배열의 첫 번째 요소에 PPL/PP/웹 패턴으로 검색

preg_match('(/ppl|pplweb/i)',$splitted_email[1]); 

이렇게하면 코드가 약간 길어 지지만 짧은 정규 표현식이 더 좋습니다.

+0

그게 작동하지 않는 것 같아 – user747796

+0

'$ splitted_email = explode ('@', $ email); 그리고'$ splitted_email [0]'대신'$ splitted_email [1]'과 일치한다. 피어 리뷰를 기다리는이 답을 편집본에 제출했습니다. – mcrumley

+0

정규 표현식은''/ ppl | pplweb/''이어야합니다. 또는 대소 문자를 구분하지 않으려면 "/ ppl | pplweb/i"를 입력하십시오. – mcrumley

관련 문제