簡體   English   中英

UTF的Java電子郵件驗證

[英]Java Email Validation for UTF

我需要確保電子郵件有效。 而且我還需要檢查其中是否沒有奇怪的UTF特性。 我不驗證它以使用正則表達式進行驗證

^(([a-zA-Z0-9_\-\.]+)@([a-zA-Z0-9_\-\.]+)\.([a-zA-Z]{2,5}){1,25})+([;.](([a-zA-Z0-9_\-\.]+)@([a-zA-Z0-9_\-\.]+)\.([a-zA-Z]{2,5}){1,25})+)*$

但是,如何檢查它的UTF?

謝謝

如果要確保電子郵件地址中只有ASCII字符,可以使用以下模式:

"[^\\x00-\\x7F]"

它可以處理任何非ASCII字符。

您是否要確保它在RFC 5335第4.1節中有效?

如果是這樣,則只能檢查一個byte[]是否有效的UTF-8。 嘗試驗證UTF-16代碼單元(Java char )或代碼點序列是否為有效的UTF-8沒有意義,因為UTF-8是字節字符串到代碼點字符串的映射以及UTF-16是從code-units-> unicode-scalar-values映射。 “ Unicode編碼形式”的第3.9節對此進行了說明。

判斷byte[]是否為格式正確的UTF-8序列的最佳方法是使用內置解碼器之一,例如StandardCharsets.UTF8或等效的Guava Charsets.UTF8

暫無
暫無

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

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