EMailAddressUtil.java
上传用户:qing5858
上传日期:2015-10-27
资源大小:6056k
文件大小:2k
源码类别:

搜索引擎

开发平台:

Java

  1. package net.javacoding.jspider.core.util;
  2. import java.net.URL;
  3. import java.net.MalformedURLException;
  4. /**
  5.  * $Id: EMailAddressUtil.java,v 1.1 2003/04/08 15:50:37 vanrogu Exp $
  6.  */
  7. public class EMailAddressUtil {
  8.     public static final String PROTOCOL_PREFIX = "mailto:";
  9.     public static boolean canBeEMailAddress(String urlString) {
  10.         boolean result = false;
  11.         URL url = fixEMailAddress(urlString);
  12.         if ( url != null ) {
  13.             result = isEMailAddress(fixEMailAddress(urlString));
  14.         }
  15.         return result;
  16.     }
  17.     public static URL fixEMailAddress(String urlString) {
  18.         URL result = null;
  19.         try {
  20.             result = new URL(urlString);
  21.         } catch (MalformedURLException e) {
  22.             try {
  23.                 result = new URL(PROTOCOL_PREFIX + urlString);
  24.             } catch (MalformedURLException ex) { }
  25.         }
  26.         if (result == null || !isEMailAddress(result)) {
  27.             result = null;
  28.         }
  29.         return result;
  30.     }
  31.     public static boolean isEMailAddress(URL url) {
  32.         boolean result = true;
  33.         String urlString = url.toString();
  34.         if (url.getHost() != null && !url.getHost().trim().equals("")) {
  35.             result = false;
  36.         }
  37.         if (url.getPort() != -1) {
  38.             result = false;
  39.         }
  40.         int pos = urlString.indexOf('@');
  41.         if (pos == -1) {
  42.             result = false;
  43.         } else {
  44.             // check for a second '@' sign
  45.             if (urlString.indexOf('@', pos + 1) != -1) {
  46.                 return false;
  47.             }
  48.         }
  49.         // check if the host is possible
  50.         if ( pos > (urlString.length() - 6) ) {
  51.             result = false;
  52.         }
  53.         return result;
  54.     }
  55.     public static String getEMailAddress(URL url) {
  56.         String urlString = url.toString();
  57.         if (urlString.toLowerCase().startsWith(PROTOCOL_PREFIX)) {
  58.             urlString = urlString.substring(PROTOCOL_PREFIX.length());
  59.         } else {
  60.             urlString = null;
  61.         }
  62.         return urlString;
  63.     }
  64. }