java邮箱校验,手机号校验,格式化日期等等 4年前

import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.regex.Matcher;
import java.util.regex.Pattern;

import 这个是传入数据的封装jar包,可以不用看,具体看自己需求context.Recordset;

public class ApplyUtil {
    public final static String Number_Chinese  =  "1"; //2012年2月16日 
    public final static String Number_Point  =  "2";//2010.2.16
    /**
     * 判断数据是否为空
     * @param str 字符串
     * @return
     */
    public static boolean isEmpty(String str){
        if(null == str || str.trim().equals("")){
            return true;
        }
        return false;
    }
    
    /**
     * 判断记录集是否为空
     * @param rs
     * @return
     */
    public static boolean isRecordsetNull(Recordset rs){
        if(null == rs || rs.size() == 0){
            return true;
        }
        return false;
    }
    
    /**
      *  为当前日期增加month月
      *  @time  2012-6-6 上午10:57:32
      *  @param month
      *  @return
      */
    public static String addMonth(int month){
        Calendar   cal   =   Calendar.getInstance(); 
        SimpleDateFormat   sFmt   =   new   SimpleDateFormat("yyyy年MM月dd日"); 
        if   (month   !=   0)   { 
            cal.add(Calendar.MONTH,   month); 
        } 
        return   sFmt.format(cal.getTime());
    }
    
    
    /**
     * 根据要求将时间转化成字符串
     * @param date 8位字符
     * @param style 样式
     * @return
     */
    public static String parseDate2String(String date,String style){
        String formatDate = "";
        int len = 0;
        if(!ApplyUtil.isEmpty(date)){
            len = date.trim().length();
            if(len == 8){
                if(Number_Chinese.equals(style)){
                    formatDate = getNumberChineseDate(date);
                }
                if(Number_Point.equals(style)){
                    formatDate = getNumberPointDate(date);
                }
            }else{
                formatDate = date;
            }
        }
        return formatDate;
    }
    
    /**
     * 格式化日期为:2012年2月16日 
     * @param date
     * @return
     */
    private static String getNumberChineseDate(String date){
        String year = date.substring(0, 4);
        String month = leaveZero(date.substring(4, 6));
        String day = leaveZero(date.substring(6,8));
        return year + "年" + month + "月" + day + "日";
    }
    
    /**
     * 格式化日期为:2012年2月16日 
     * @param date
     * @return
     */
    private static String getNumberPointDate(String date){
        String year = date.substring(0, 4);
        String month = leaveZero(date.substring(4, 6));
        String day = leaveZero(date.substring(6,8));
        return year + "." + month + "." + day;
    }
    
    /**
     * 去掉前面含有的0
     * @param str
     * @return
     */
    private static String leaveZero(String str){
        if(str.length() == 2 && str.charAt(0) == '0'){
            return str.substring(1,2);
        }
        return str;
    }
    
    /**
     * 获得文件的类型
    *  @author ly
    *  @date  2012-4-9
     * @param file 文件的全路径
     * @return
     */
    public static String getSuffix(String file) {
        if(isEmpty(file) || file.indexOf(".") == -1 || file.indexOf(".") == file.length() - 1)
            return "";
        System.out.println(file.length());
        System.out.println(file.lastIndexOf("."));
        String suffix=file.substring(file.lastIndexOf("."),file.length());
        return suffix.toLowerCase();
    }
    
    
    /**
     * 邮箱校验
     * @param email
     * @return true:邮箱格式正确; false:邮箱格式错误
     */
    public static boolean isEmail(String email){     
        //String str = "^([a-z0-9A-Z]+[-|\\.]?)+[a-z0-9A-Z]@([a-z0-9A-Z]+(-[a-z0-9A-Z]+)?\\.)+[a-zA-Z]{2,}$";//带横杠的出错
        //String str = "^\\s*\\w+(?:\\.{0,1}[\\w-]+)*@[a-zA-Z0-9]+(?:[-.][a-zA-Z0-9]+)*\\.[a-zA-Z]+\\s*$";//带下划线出错
//        Pattern p = Pattern.compile(str);
//        Matcher m = p.matcher(email.trim());     
//        return m.matches(); 
         //Pattern pattern = Pattern.compile("[0-9a-zA-Z]*.[0-9a-zA-Z]*@[a-zA-Z]*.[a-zA-Z]*", Pattern.LITERAL);   
        if(email == null){  
            return false;  
        }  
          
        //验证开始   
          
        //不能有连续的.   
        if(email.indexOf("..") != -1){  
            return false;  
        }  
          
        //必须带有@   
        int atCharacter = email.indexOf("@");  
        if (atCharacter == -1) {  
            return false;  
        }  
          
        //最后一个.必须在@之后,且不能连续出现   
        if(atCharacter > email.lastIndexOf('.') || atCharacter+1 == email.lastIndexOf('.')){  
            return false;  
        }  
          
        //不能以.,@结束和开始   
        if (email.endsWith(".") || email.endsWith("@") || email.startsWith(".") || email.startsWith("@")) {  
            return false;  
        }  
        return true;  

    }
  
    /**
     * 手机号校验
     * @param mobiles
     * @return true:手机号格式正确; false:手机号格式不正确
     */
    public static boolean isMobileNO(String mobiles){     
        String str = "^1[3|4|5|8][0-9][0-9]{8}$";
        //String str = "^((13[0-9])|(15[^4,\\D])|(18[0,5-9]))\\d{8}$";
        Pattern p = Pattern.compile(str);     
        Matcher m = p.matcher(mobiles.trim());     
        return m.matches();     
    }
    
}
image
nvnv
为学日益,为道日损。
4
发布数
1
关注者
10283
累计阅读

热门教程文档

10.x
88小节
C++
73小节
Spring Cloud
8小节
QT
33小节
Javascript
24小节
广告