2011-05-10 4 views
2

삽입 된 이메일 주소에 "@"및 "."이 포함되어 있는지 확인해야합니다. 정규 표현식없이. 누군가 나에게 "자바 코드"와 "구조 차트"예제를 제공해 줄 수 있습니까?은 이메일 주소에 "@"및 "."이 들어 있는지 확인합니다.

+0

주소가 * just * "@"또는 "."입니까? 또는 그들이 "@"과 "."을 포함하고 있는지 확인하십시오. –

+1

당신은 ... 실제로 보았습니까? (또는 실제로 무엇이든 시도해보십시오.) 이런 종류의 질문은 "희귀 한"것과 멀리 떨어져 있습니다. –

+0

죄송합니다. 이메일이 "@"및 "."로 구성되어 있는지 확인하십시오. –

답변

10

내가 의심이 같은 후있어 이것은 물론, 완전한 검증 거리가 멀다. 간신히 심지어 유효성 검사가 시작됩니다. 그러나이 방법을 사용하면 처리하려는 특정 사례로 이어질 수 있습니다.

+2

아직도 나쁘다. ". @"는 유효한 주소에 근접하지 않습니다. – Kaj

+5

@Kaj : 물론입니다. 그것은 완전한 검증과는 거리가 있습니다 - 나는 물었던 것에 만 답하고 있습니다. –

+1

질문에 답하기위한 +1 : –

0

regexp를 사용하도록 허용되지 않은 경우 String.indexOf를 사용하십시오. 그러나 입력하는 동안 주소의 유효성을 검사하지 않는 것이 좋습니다.

활성화 이메일을 보내는 것이 좋습니다.

if (!address.contains("@") || !address.contains(".")) 
{ 
    // Handle bad address 
} 

편집 :

1

내 개인적인 경험에서 확인 링크는 이메일 만 유효성 확인 링크 또는 코드와 함께 발송하는 것입니다. 많은 유효성 검사기를 시도했지만 전자 메일 주소가 매우 느슨 할 수 있기 때문에 완료되지 않았습니다 ...

+0

그리고 심지어 작동하는 이메일 주소는별로 없습니다. –

+0

주소로 전자 메일을 보낼 수 있다고하더라도 "유효한"것으로 정의되지는 않습니다 ("RFC"를 따르는 것으로 "유효"함을 가정 할 때). – Brian

+0

@Brian : "유효성 검사 링크 또는 코드 사용"즉 링크를 클릭하면 사용자는 제공된 전자 메일이 통신의 작동 수단임을 확인합니다. 또한 appache 유틸리티를 살펴 보았지만 시스템에서 유효한 전자 메일 주소를 거부하는 데 불만을 가진 외국인 고객이 있습니다. – VirtualTroll

0

당신은 첫째을 검색 할 수 있습니다 '@', 당신의 왼쪽에 무엇을 '@'유효한 문자열 인 경우, 확인 (예 : 그렇지 않습니다 공백이든간에). 그런 다음 오른쪽에 '.'이 있는지 검색하고 유효한 도메인에 대해 두 문자열을 모두 확인해야합니다.

약한 테스트입니다. 어쨌든 정규식을 사용하는 것이 좋습니다.

1
int dot = address.indexOf('.'); 
int at = address.indexOf('@', dot + 1); 

if(dot == -1 || at == -1 || address.length() == 2) { 
    // handle bad address 
} 

이것은 완벽한 해결책이 아닙니다. @와 주소가 여러 번 나올지 확인하려면 '.'만 사용해야합니다. 및 '@'.