2012-04-24 2 views
0

나는 특정 .edu 전자 메일 (예 : abc.edu)이있는 경우에만 사용자가 계정에 등록 할 수있는 응용 프로그램을 Android에서 작성하고 있습니다. 이것을 검증 할 코드를 작성하기 시작했지만, 이제는 더 쉽게 사용할 수있는 방법이 있는지 궁금합니다. 나는 초급 Java/Programming 과정만을 수강 했으므로, 내가하고있는 일이 완전히 잘못된 길인지는 확실하지 않다.전자 메일 확장자를 확인하는 가장 효율적인 방법

Get length of inputted email. 
if (
email.charat(length)-1 = u && 
email.charat(length)-2 = d && 
email.charat(length)-3 = e && 
email.charat(length)-4 = . && 
email.charat(length)-5 = c && 
email.charat(length)-6 = b && 
email.charat(length)-7 = a) 

Success 
else 
Not a valid email 
+0

* 효율적인 *을 찾지 말고 * readable * 및 * maintainable *을 찾으십시오. 그리고 위의 내용은 그렇지 않습니다 ... –

답변

3

자바 String 클래스는 사용 할 수있는 endsWith 방법이 있습니다 : 여기

내 의사 코드

if (email.endsWith("abc.edu") { ... } 

당신은 편집이 있다면, 당신은 할 수 :

if (email.toString().endsWith("abc.edu")) { ... } 

대소 문자를 구분하지 않으려면 다음을 수행하십시오.

if (email.toString().toLowerCase().endsWith("abc.edu")) { ... } 
+0

흠 ... 나는 Editable 클래스를 사용하고 있으며'endsWith' 클래스를 지원하지 않는 것 같습니다. 사용자 입력에서 텍스트를 가져올 때 "문자열"이 아닌 "편집 가능"을 사용해야합니다. – EGHDK

+0

@EGHDK : 편집 됨. 의사 코드는 작동하며, 비교하려는 문자에 대해 어떤 형식의 목록 (또는 심지어 문자열)을 사용하고 긴 비교 체인이 아닌 루프를 사용하여 좀 더 일반화 할 수 있습니다. – Mat

+0

감사합니다. 작동합니다! 마지막으로 ignoreCase 함수를 구현하는 방법을 알고 있습니까? 대문자 ABC를 사용하면 함수를 버리고 소문자 abc가 작동합니다. 다시 한 번 감사드립니다 – EGHDK

관련 문제