1、jquery解析
//验证邮箱
function vailEmail(){
var email = jQuery("#email").val();
var flag = false;
var message = "";
var myreg = /^([\.a-zA-Z0-9_-])+@([a-zA-Z0-9_-])+(\.[a-zA-Z0-9_-])+/;
if(email ==''){
message = "邮箱不能为空!";
}else if(!myreg.test(email)){
message = "请输入有效的邮箱地址!";
}else if(checkEmailIsExist()){
message = "该邮箱地址已经被注册!";
}else{
flag = true;
}
if(!flag){
//错误提示
//jQuery("#emailDiv").removeClass().addClass("ui-form-item has-error");
// jQuery("#emailP").html("");
//jQuery("#emailP").html("<i class=\"icon-error ui-margin-right10\"> <\/i>"+message);
//jQuery("#email").focus();
}else{
//正确提示
//jQuery("#emailDiv").removeClass().addClass("ui-form-item has-success");
//jQuery("#emailP").html("");
//jQuery("#emailP").html("<i class=\"icon-success ui-margin-right10\"> <\/i>该邮箱可用");
}
return flag;
}
2、java代码解析
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class MailTest
{
public static void main(String[] args)
{
MailTest mt = new MailTest();
mt.testMail("liu9306l@d.123..456");
}
public Boolean testMail(String s)
{
if(s.matches("^[a-zA-Z0-9][([a-zA-Z0-9]|_)]+@([(a-zA-Z0-9)]+\\.)+[a-zA-Z0-9]+[a-zA-Z0-9]$"))
{
String[] sub = s.split("@");
System.out.println("用户名: " + sub[0]);
System.out.println("域名:" + sub[1]);
return true;
}
//是否含有@
if(!s.contains("@"))
{
System.out.println("邮箱中不含有 @");
return false;
}
//判断是否有多个@
int index = s.indexOf("@");
if(s.substring(index + 1,s.length()).contains("@"))
{
System.out.println("邮箱中含有多个 @");
return false;
}
//判断用户名中是否有非法字符
String sub = s.substring(0, index);
Pattern p = Pattern.compile("[^(\\w|_)]");
Matcher m = p.matcher(sub);
if(m.find())
{
//System.out.println(m.group());
System.out.println("邮箱用户名中含有非法字符");
return false;
}
//其它错误
String domainSub = s.substring(index + 1,s.length());
if(!domainSub.matches("^([(a-zA-Z0-9)]+\\.)+[a-zA-Z0-9]+[a-zA-Z0-9]$"))
{
System.out.println("域名出现错误");
return false;
}
System.out.println("存在其他的错误");
return true;
}
}