android几个实用的判定代码

        之前项目有几个判定代码很实用,特此做一个整理。


一、验证手机格式是否正确

 

//判断手机号码是否合理
private boolean judgePhoneNums(String phoneNums) {
        if (isMatchLength(phoneNums, 11) && isMobileNO(phoneNums)) {
            return true;
        }
        return false;
    }

// 判断一个字符串的位数
public static boolean isMatchLength(String str, int length) {
        if (str.isEmpty()) {
            return false;
        } else {
            return str.length() == length ? true : false;
        }
    }

//验证手机格式
public static boolean isMobileNO(String mobileNums) {
        /*
         * 移动:134、135、136、137、138、139、150、151、157(TD)、158、159、187、188
       * 联通:130、131、132、152、155、156、185、186 电信:133、153、180、189、(1349卫通)
       * 总结起来就是第一位必定为1,第二位必定为3或5或8,其他位置的可以为0-9
       */
String telRegex = "[1][358]\\d{9}";// "[1]"代表第1位为数字1,"[358]"代表第二位可以为3、5、8中的一个,"\\d{9}"代表后面是可以是0~9的数字,有9位。
if (TextUtils.isEmpty(mobileNums))
            return false;
        else
            return mobileNums.matches(telRegex);
    }

 

二、验证邮箱格式是否正确

 

//判断邮箱
private boolean isEmail(String email) {
        String str = "^([a-zA-Z0-9_\\-\\.]+)@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.)|(([a-zA-Z0-9\\-]+\\.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(\\]?)$";
        Pattern p = Pattern.compile(str);
        Matcher m = p.matcher(email);
        return m.matches();
    }

 

三、判断日期大小

 

//判断日期大小
public boolean compare(String s1, String s2) {
    java.text.DateFormat df=new java.text.SimpleDateFormat("yyyy-MM-dd");
    java.util.Calendar c1=java.util.Calendar.getInstance();
    java.util.Calendar c2=java.util.Calendar.getInstance();
    try
{
        c1.setTime(df.parse(s1));
        c2.setTime(df.parse(s2));
    }catch(java.text.ParseException e){
        System.err.println("格式不正确");
    }
    int result=c1.compareTo(c2);
    if(result==0)
        return false;
    else if(result<0)
        return false;
    else
        return true;//s1大于s2
}

四、判断字符串是否为中文
(这段代码有个问题,当字符串为一个汉时,也会被认为不是中文)
//判断中文
public static boolean isChineseName(String name) {
        Pattern pattern = Pattern.compile("^([\u4E00-\uFA29]|[\uE7C7-\uE7F3]){2,5}$");
        Matcher matcher = pattern.matcher(name);
        if(matcher.find()) {
            return true;
        }
        return false;
    }

五、判断是否为数字或英文或-
public boolean is_num_word(String str){
    String regEx="[A-Z,a-z,0-9,-]*";
    boolean result= Pattern.compile(regEx).matcher(str).find();
    return result;
}

  

六、判断字符串是否为数字或英文或汉字

 

    public boolean isLetterDigitOrChinese(String str) {
        String regex = "^[a-z0-9A-Z\u4e00-\u9fa5]+$";
        return str.matches(regex);
    }

  

posted @ 2015-12-27 10:10  Red_Code  阅读(441)  评论(0编辑  收藏  举报