으로 "두 배 점"을 제거루비 : 정규식
/\A[\w+\-.][email protected][a-z\d\-.]+\.[a-z]+\z/i
이 좀 작동하지만, 잘못된 메일로 날 나뭇잎 이십 기가 바이트
[email protected]
가 어떻게이 정규식을 rwrite 수 또는 느릅 나무는 난 단지 유효한 이메일 주소를 떠날 필요가 이메일 목록을 정리하는 가장 좋은 정규식입니다을 피하기 위해 : 오류의 종류가? 나는 목록을 정리하기 위해 이와 같은 방법을 사용하고 있습니다 :
def mailSweep
mails = Email.all.lazy
for address in mails do
if address.email.to_s =~ /\A[\w+\-.][email protected][a-z\d\-.]+\.[a-z]+\z/i
puts address.email.to_s + " " + "it's valid"
else
puts address.email.to_s + " " + "it's invalid, destroying..."
address.destroy
end
end
end
정규식 유효성 검사 이메일 주소의 슬픈 현실을 보려면 http://stackoverflow.com/questions/703060/valid-email-address-regular-expression을 참조하십시오. 그런 다음 당신을 위해 그것을 할 수있는 보석을 찾으십시오. 여기에 하나 : https://github.com/dim/rfc-822. –
@ 짐 스튜어트 (Jim Stewart), 결함이있는 이유와 훌륭한 대체 솔루션을 보여주는 +1. –