validate that an email address contains “@” and “.”

时光怂恿深爱的人放手 提交于 2020-01-24 12:18:28

问题


i need to validate that an inserted email address contains "@" and "." without a regular expression. Can somebody to give me "java code" and "structure chart" examples please?


回答1:


I suspect you're after something like:

if (!address.contains("@") || !address.contains("."))
{
    // Handle bad address
}

EDIT: This is far from a complete validation, of course. It's barely even the start of validation - but hopefully this will get you going with the particular case you wanted to handle.




回答2:


You can use commons-validator , Specifically EmailValidator.isValid()




回答3:


From my personal experience, the only was to validate an email address is to send a email with a validation link or code. I tried many of the validator but they are not complete because the email addresses can be very loose ...




回答4:


int dot = address.indexOf('.');
int at = address.indexOf('@', dot + 1);

if(dot == -1 || at == -1 || address.length() == 2) {
  // handle bad address
}

This is not complete solution. You will have to check for multiple occurances of @ and address with only '.' and '@'.




回答5:


Use String.indexOf if you aren't allowed to use regexp, and but I would adwise you to not validate the address during input.

It's better to send an activation email.




回答6:


You can also use the Java Mail API. Specifically, here:

http://javamail.kenai.com/nonav/javadocs/javax/mail/internet/InternetAddress.html#InternetAddress(java.lang.String, boolean)




回答7:


You can search for the first '@', then check if what you have at the left of the '@' is a valid string (i.e. it doesn't have spaces or whatever). After that you should search in the right side for a '.', and check both strings, for a valid domain.

This is a pretty weak test. Anyway I recommend using regular expressions.



来源:https://stackoverflow.com/questions/5955739/validate-that-an-email-address-contains-and

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!