「java验证邮箱代码」java正则验证邮箱
本篇文章给大家谈谈java验证邮箱代码,以及java正则验证邮箱对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。
本文目录一览:
- 1、如何用java检验电子邮箱格式的合法性?要用到String的方法来判断
- 2、利用Java的字符串处理技术,编写一个验证Email地址合法性的程序
- 3、JAVA 用流实现邮箱验证
- 4、java如何验证一个email地址是否真实有效。
- 5、邮箱是否合法java代码if语句
- 6、以下是我编写的JAVA验证邮箱可用性的代码
如何用java检验电子邮箱格式的合法性?要用到String的方法来判断
自己写逻辑验证的方式可以做到。我写了下面的:
public static boolean validateEmail(String email) {
boolean flag = false;
int pos = email.indexOf("@");
if (pos == -1 || pos == 0 || pos == email.length() - 1) {
return false;
}
String[] strings = email.split("@");
if (strings.length != 2) {// 如果邮箱不是xxx@xxx格式
return false;
}
CharSequence cs = strings[0];
for (int i = 0; i cs.length(); i++) {
char c = cs.charAt(i);
if (!Character.isLetter(c) !Character.isDigit(c)) {
return false;
}
}
pos = strings[1].indexOf(".");// 如果@后面没有.,则是错误的邮箱。
if (pos == -1 || pos == 0 || pos == email.length() - 1) {
return false;
}
strings = strings[1].split(".");
for (int j = 0; j strings.length; j++) {
cs = strings[j];
if (cs.length() == 0) {
return false;
}
for (int i = 0; i cs.length(); i++) {//如果保护不规则的字符,表示错误
char c = cs.charAt(i);
if (!Character.isLetter(c) !Character.isDigit(c)) {
return false;
}
}
}
return true;
}
这个效率也不会差很多,不过我推荐matches方法,经过测试的,matches匹配方式运行10000次的时间比上面的时间少了20毫秒。
利用Java的字符串处理技术,编写一个验证Email地址合法性的程序
实现原理,实际上就是输入一个字符串,之后通过正则表达式验证此字符串是否符合邮箱的格式规范,通过以下工具类即可:
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class RegisterCheck {
/**
* 验证输入的邮箱格式是否符合
* @param email
* @return 是否合法
*/
public static boolean emailFormat(String email)
{
boolean tag = true;
final String pattern1 = "^([a-z0-9A-Z]+[-|//.]?)+[a-z0-9A-Z]@([a-z0-9A-Z]+(-[a-z0-9A-Z]+)?//.)+[a-zA-Z]{2,}$";
final Pattern pattern = Pattern.compile(pattern1);
final Matcher mat = pattern.matcher(email);
if (!mat.find()) {
tag = false;
}
return tag;
}
}
JAVA 用流实现邮箱验证
邮箱验证的实现,不过是用正则表达式子实现的,能够满足你上面提出的7条要求 String email = "dfbv423@163.com"; Pattern pattern = Pattern .compile("^([a-zA-Z0-9_\\-\\.]+)@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.)|(([a-zA-Z0-9\\-]+\\.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(\\]?)$"); Matcher matcher = pattern.matcher(email); if (true == matcher.matches()) { if (email.indexOf("@163.com") 0) System.out.println("是网易邮箱"); else System.out.println("不是网易邮箱"); } else System.out.println("根本就不是邮箱"); }
java如何验证一个email地址是否真实有效。
首先使用java提供的格式类判断email是否格式有误,然后使用开源框架,验证邮箱是否有用,示例如下:
public static boolean checkEmail(String email) {
if (!email.matches("[\\w\\.\\-]+@([\\w\\-]+\\.)+[\\w\\-]+")) {
return false;
}
String host = "";
String hostName = email.split("@")[1];
Record[] result = null;
SMTPClient client = new SMTPClient();
try {
// 查找MX记录
Lookup lookup = new Lookup(hostName, Type.MX);
lookup.run();
if (lookup.getResult() != Lookup.SUCCESSFUL) {
return false;
} else {
result = lookup.getAnswers();
}
// 连接到邮箱服务器
for (int i = 0; i result.length; i++) {
host = result[i].getAdditionalName().toString();
client.connect(host);
if (!SMTPReply.isPositiveCompletion(client.getReplyCode())) {
client.disconnect();
continue;
} else {
break;
}
}
//以下2项自己填写快速的,有效的邮箱
client.login("163.com");
client.setSender("sxgkwei@163.com");
client.addRecipient(email);
if (250 == client.getReplyCode()) {
return true;
}
} catch (Exception e) {
e.printStackTrace();
} finally {
try {
client.disconnect();
} catch (IOException e) {
}
}
return false;
}
需要的jar支持:commons-net-2.2.jar,dnsjava-2.1.1.jar
邮箱是否合法java代码if语句
import org.apache.log4j.Logger;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class Demo {
public static void main(String[] args) {
if(Resource.isEmail("1212@ss.cn")){
System.out.println("1212@ss.cn这个邮箱是合法的!");
}else{
System.out.println("1212@ss.cn这个邮箱是非法的!");
}
}
}
class Resource {
private static final Logger logger = Logger.getLogger(Resource.class);
public static boolean isEmail(String email){
String str="^([a-zA-Z0-9]*[-_]?[a-zA-Z0-9]+)*@([a-zA-Z0-9]*[-_]?[a-zA-Z0-9]+)+[\\.][A-Za-z]{2,3}([\\.][A-Za-z]{2})?$";
Pattern p = Pattern.compile(str);
Matcher m = p.matcher(email);
logger.info(m.matches()+"---");
return m.matches();
}
}
这里要用到一个jar包,我用的是log4j-1.2.17.jar
以下是我编写的JAVA验证邮箱可用性的代码
for(int i=1;i=a.length();i++)
{
d=a.substring(i-1,i);
if(d.equals("@."))
{
return false;
}
}
这个循环判定完是有@.返回false不对的,用判定"@."是否存在好一些
if(!a.contains("@."))
{
return false;
}
关于java验证邮箱代码和java正则验证邮箱的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。
发布于:2022-11-28,除非注明,否则均为
原创文章,转载请注明出处。