posts - 33,  comments - 17,  trackbacks - 0
 1  /**
 2  * 从指定的字符串中提取Email
 3  * content 指定的字符串
 4  */

 5 public static String parse(String content) {
 6  String email = null;
 7  if (content==null || content.length()<1{
 8   return email;
 9  }

10  //找出含有@
11  int beginPos;
12  int i;
13  String token = "@";
14  String preHalf="";
15  String sufHalf = "";
16  
17  beginPos = content.indexOf(token);
18  if (beginPos>-1{
19   //前项扫描
20   String s = null;
21   i= beginPos;
22   while(i>0{
23    s = content.substring(i-1,i);
24    if (isLetter(s))
25     preHalf = s+preHalf;
26    else
27     break;
28    i--;
29   }

30   //后项扫描
31   i= beginPos+1;
32   while( i<content.length()) {
33    s = content.substring(i,i+1);
34    if (isLetter(s))
35     sufHalf =  sufHalf +s;
36    else
37     break;
38    i++;  
39   }

40   //判断合法性
41   email = preHalf + "@" + sufHalf;
42   if (isEmail(email)) {
43    return email;
44   }

45  }

46  return null;
47 }

48 
49 /**
50  * 判断是不是合法Email
51  * email Email地址
52  */

53 public static boolean isEmail(String email) {
54  try {
55   if (email==null || email.length()<1 || email.length()>256{
56    return false;
57   }

58   
59   String check = "^([0-9a-zA-Z]+[_.0-9a-zA-Z-]+)@([a-zA-Z0-9-]+[.])+([a-zA-Z]{2,3})$";
60   Pattern regex = Pattern.compile(check);
61   Matcher matcher = regex.matcher(email);
62   boolean isMatched = matcher.matches();
63   if(isMatched) {
64    return true;
65   }
 else {
66    return false;
67   }

68  }
 catch (RuntimeException e) {
69   return false;
70  }
 
71 }

72 
73 /**
74  * 判断是不是合法字符
75  * c 要判断的字符
76  */

77 public static boolean isLetter(String c) {
78  boolean result = false;
79  
80  if (c==null || c.length()<0{
81   return false;
82  }

83  //a-z 
84  if (c.compareToIgnoreCase("a")>=0 && c.compareToIgnoreCase("z")<=0{
85   return true;
86  }

87  //0-9
88  if (c.compareToIgnoreCase("0")>=0 && c.compareToIgnoreCase("9")<=0{
89   return true;
90  }

91  //. - _
92  if (c.equals("."|| c.equals("-"|| c.equals("_") ) {
93   return true;
94  }

95  return result; 
96 }

97
posted on 2008-07-23 17:25 scea2009 阅读(196) 评论(0)  编辑  收藏

只有注册用户登录后才能发表评论。


网站导航:
 

<2008年7月>
293012345
6789101112
13141516171819
20212223242526
272829303112
3456789

常用链接

留言簿(1)

随笔分类

随笔档案

PL/SQL存储过程与函数

搜索

  •  

最新评论

阅读排行榜

评论排行榜