package common;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class GetEmail {
public static int MAXEMAILLEN = 256;
/**
* 从指定的字符串中提取Email
*
*/
public static String parse(String content) {
String email = null;
if (content==null || content.length()<1) {
return email;
}
//找出含有@
int beginPos;
int i;
String token = "@";
String preHalf="";
String sufHalf = "";
beginPos = content.indexOf(token);
if (beginPos>-1) {
//前项扫描
String s = null;
i= beginPos;
while(i>0) {
s = content.substring(i-1,i);
if (isLetter(s))
preHalf = s+preHalf;
else
break;
i--;
}
//后项扫描
i= beginPos+1;
while( i<content.length()) {
s = content.substring(i,i+1);
if (isLetter(s))
sufHalf = sufHalf +s;
else
break;
i++;
}
//判断合法性
email = preHalf + "@" + sufHalf;
if (email.length()>MAXEMAILLEN) {
return null;
}
}
return email;
}
/**
* 判断是不是合法Email
*
*/
public static String isEmail(String email) {
try {
if (email==null || email.length()<1) {
return null;
}
String check = "^([0-9a-zA-Z]+[_.0-9a-zA-Z-]+)@([a-zA-Z0-9-]+[.])+([a-zA-Z]{2,3})$";
Pattern regex = Pattern.compile(check);
Matcher matcher = regex.matcher(email);
boolean isMatched = matcher.matches();
if(isMatched) {
return email;
} else {
return null;
}
} catch (RuntimeException e) {
return null;
}
}
/**
* 判断是不是合法字符
*
*/
public static boolean isLetter(String c) {
boolean result = false;
if (c==null || c.length()<0)
return false;
//a-z
if (c.compareToIgnoreCase("a")>=0 && c.compareToIgnoreCase("z")<=0)
return true;
//0-9
if (c.compareToIgnoreCase("0")>=0 && c.compareToIgnoreCase("9")<=0)
return true;
//. - _
if (c.equals(".") || c.equals("-") || c.equals("_") )
return true;
return result;
}
}
posted on 2007-03-28 17:25
我心依旧 阅读(449)
评论(0) 编辑 收藏