2012-12-26 3 views
2

전자 메일 주소의 잘못된 문자를 모두 제거하는 방법을 찾으려고합니다.전자 메일 주소의 잘못된 문자 제거

는 예 : 이메일 = "taeo͝ '; [email protected]"(. 이메일 문자) 결과는해야한다 : 이메일 = "[email protected]"나는 다음을 사용하고

이메일 패턴 :

String email_pattern = "^[^[_A-Za-z0-9-\\+]+(\\.[_A-Za-z0-9-]+)*@"+ "[A-Za-z0-9-]+(\\.[A-Za-z0-9]+)*(\\.[A-Za-z]{2,})$]"; 

String modifiedEmail = email.replaceAll(email_pattern,""); 

그러나 위의 코드는 결과를주고있다 : 이메일 = "[email protected]"하지만

어떤 제안 "[email protected]"을 기대하거나 더 나은 방법 주시면 감사하겠습니다 .

+0

A [유니 코드 이메일 주소] 뭐가 잘못 (http://stackoverflow.com/questions/3844431/are-email-addresses-allowed-to-contain-non-alphanumeric-characters)? –

답변

0

패턴 매처를 사용하여 해결했습니다.

email = "testo͝';@.com.my" 
String EMAIl_PATTERN = "[^a-zA-Z0-9!#$%&@'*+-/=?^_`{|}~.]+"; 
modifiedEmail = email.replaceAll(EMAIl_PATTERN, ""); 
11

다음은 이메일 adresses를 필터링하지해야하는 이유의 좋은 블로그 게시물입니다 : http://davidcel.is/blog/2012/09/06/stop-validating-email-addresses-with-regex/

TL; DR 일 : @ (선택적 기간)가 있는지 확인하고 테스트 메일을 보내주십시오.

/[email protected]+\..+/ 
+0

멋진 기사. 나는이 해결책을 좋아한다. 나는 또한 미래의 사용을 위해이 정규 표현식을 실제로 암기하는 방법을 좋아한다. –

0

또한 사고 :
다윗이 정규 표현식을 사용하는 제안 또한 인증 (예를 들어, http://trashmail.com/)없이 사용할 이메일 adresses의 노하우 제공자를 테스트 할 수있다.

관련 문제