如何用JAVA语句判断邮箱的正确格式

作者&投稿:华蚂 (若有异议请与网页底部的电邮联系)
java中如何用jq判断邮箱格式是否正确~

function check(){
if($("#email1").val()==""){
alert("邮箱不能为空");
$("#tips").html("不能输入空的");
return FALSE;
}
if(!$("#email1").val().match(/^\w+((-\w+)|(\.\w+))*\@[A-Za-z0-9]+((\.|-)[A-Za-z0-9]+)*\.[A-Za-z0-9]+$/)){
alert("格式不正确!请重新输入");
$("#email1").focus();
}
}

自己写逻辑验证的方式可以做到。我写了下面的:

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毫秒。

package com.test;

import java.util.regex.Matcher;
import java.util.regex.Pattern;

public class StringTest {
public static void main(String[] args) {

Pattern p = Pattern.compile("^([a-zA-Z0-9_-])+@([a-zA-Z0-9_-])+(\\.([a-zA-Z0-9_-])+)+$");
Matcher m = p.matcher("wangxu198709@gmail.com");
//Mather m = p.matcher("wangxu198709@gmail.com.cn");这种也是可以的!
boolean b = m.matches();
System.out.print(b);//true
}
}

String mail = "邮箱地址";

if(mail.matches("\\w+([-+.]\\w+)*@\\w+([-.]\\w+)*\\.\\w+([-.]\\w+)*"))
{
System.out.println("OK");
}
else
{
System.out.println("Err");
}

//判断是否为邮箱格式
引入正则表达式包文件
声明这样一个正则表达式:reg=/^\w+[@]\w+[.][\w.]+$/
if(!reg.exec(xxxx)){
………………
}else{
……
}

java 邮箱验证的问题
答: <!-- function CheckForm(){ var filter=/^[a-zA-Z][a-zA-Z0-9._-]*@([a-zA-Z0-9-_]+\.)+(com|gov|net|com\.cn|edu\.cn)$/;if (document.add.email.value.length()==0)return false;if(!filter.test(document.add.email.value)){ alert(" *邮箱格式不正确*");document...

java 如何实现登录139邮箱 并判断是否登录成功?
答:如果你是用socket传输指令法师登陆邮箱的话,那么有专门的命令stat来查看你的登陆是否成功的 一个例子 public static void main(String[] args){ if(args.length!=3){ System.out.println("USE: java POP3Demo mailhost user password");} new POP3Demo().receive(args[0],args[1],args[2]);...

输入java源代码文件名,并输入自己的邮箱,提交前对Java文件名以及邮箱...
答:= m.matches();if(b) { System.out.println("有效邮件地址");} else { System.out.println("无效邮件地址");} } } 执行:javac Test.java java Test abc@def.njupt.edu.cn 输出:有效邮件地址 执行:java Test abc@def 输出:无效邮件地址 注解:"\\w+@(\\w+.)+[a-z]{2,3}"

java 判断email 是否存在
答:一般情况下看是否合法是比较常用的,其中用正则确实是比较公用的方法。而是否存在,这要分两种情况,1 对于该服务器来说,这个邮箱是否存在,这比较简单,就是查一下数据库中是否有相应的邮箱数据罢了,这可以用来检测该用户名是否在该server下注册了邮箱;另一种就是你说的我现在要发某一封邮件去一个...

java,注册页面一个文本框中输入邮箱或者手机号怎么判断写入数据库_百 ...
答:用正则判断 ^1[34589]\d{9}$ //手机号 ^[0-9a-zA-Z_]+@[0-9a-zA-Z]+\.[a-zA-Z]+$//邮箱

java的一个匹配多个邮箱的地址的正则表达式问题。
答:你的数据格式有规律,不需要正则就可以,先按空格split,然后indexof @ 如果存在就是email地址了

关于javamail发送邮件的回执
答:如果是指检验邮箱是否存在的话,没必要去发送邮件,当然如果发送邮件的话也是可以检验出来的,如果邮箱不存在的话,发送是失败的;更简单一点直接用javaMail中的connect去判定是否存在就可以了:// 根据邮件会话属性和密码验证器构造一个发送邮件的sessionSession sendMailSession = Session.getDefaultInstance(pro...

JAVA中写邮箱格式的正则表达式,怎么写?
答:合法E-mail地址:1. 必须包含一个并且只有一个符号“@”2. 第一个字符不得是“@”或者“.”3. 不允许出现“@.”或者.4. 结尾不得是字符“@”或者“.”5. 允许“@”前的字符中出现“+”6. 不允许“+”在最前面,或者“+@”正则表达式如下:--- ^(\w+((-\w+)|(\.\w+))*)\...

如何用JAVA来读取一个邮箱并取出用户名
答:用分割函数啊。split 以“@”分割,分割成两部分,abc , sina.com 取前者就行了。

java发送邮件如何获取状态 比如我发了邮件 ,怎么知道是否发送成功呢...
答:看你获取什么状态了,你可以自己在写程序时,完成一步,就通过print完成当前步骤的语句,以此判断程序运行后进行到了哪儿,同时catch(Exception e),当出错时也能判断出是哪儿出的问题。但是否发送成功,这个没法完全作出判断,因为发送地址输入错误,和因网络原因没发过去等原因都属于程序判断不了的错误 ...