UTF的Java电子邮件验证
我需要确保电子邮件是有效的。我还需要检查一下,里面没有奇怪的UTF字符。我不赞成用正则表达式验证它UTF的Java电子邮件验证,java,regex,validation,email-validation,Java,Regex,Validation,Email Validation,我需要确保电子邮件是有效的。我还需要检查一下,里面没有奇怪的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 谢谢您是想确认它是有效的w.r.t 如果是,您只能检查字节[]是否为有效的UTF-8。尝试验证
^(([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
谢谢您是想确认它是有效的w.r.t 如果是,您只能检查
字节[]
是否为有效的UTF-8。尝试验证UTF-16代码单元序列(Javachar
s)或代码点是否有效是没有意义的,因为UTF-8是字节字符串到代码点字符串的映射,UTF-16是代码单元->的映射。第3.9节解释了所有这些
判断
字节[]
是否为格式良好的UTF-8序列的最佳方法是使用一个内置解码器,例如,或使用与Guava等效的字符集。UTF8
如果要确保电子邮件地址中只有ASCII字符,可以使用该模式:
"[^\\x00-\\x7F]"
它将包含任何非ascii字符。我在正则表达式中没有看到任何可以匹配任何奇怪字符的内容。您总是执行
a-z
等操作,而不是
或任何操作。UTF对电子邮件地址有效。