簡體   English   中英

刪除電子郵件地址中的無效字符

[英]Remove Invalid characters in an e-mail address

我正在嘗試找出如何刪除電子郵件地址中的所有無效字符。

例如:email =“taeo͝'; st@yy.com”(。是電子郵件字符),結果應為:email =“taest@yy.com”

我使用以下電子郵件模式:

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 =“aest@yy.com”,但預計“taest@yy.com”

任何建議或更好的方法將不勝感激。

這是一篇很好的博客文章,說明為什么你不應該過濾你的電子郵件地址: http//davidcel.is/blog/2012/09/06/stop-validating-email-addresses-with-regex/

TL; DR:檢查是否有@(可選擇一個句點)並發送測試郵件。
大衛建議使用這個正則表達式:

/.+@.+\..+/

進一步思考:您還可以測試未經身份驗證使用的已知電子郵件地址提供商(例如http://trashmail.com/ )。

我通過使用模式匹配器解決了它。

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM