Android常用的工具方法(2)

1.判断是否为浮点数,小数点2位

    /**
     * 判断是否为浮点数,小数点2位
     * @param:mail
     *            邮箱
     * @return
     */
    public static boolean validateFloatNum(String str) {
        Pattern pattern = Pattern.compile("^(?!0+(?:\\.0+)?$)(?:[1-9]\\d*|0)(?:\\.\\d{1,2})?$");
        Matcher m = pattern.matcher(str);
        return m.matches();
    }

2.邮箱验证

    /**
     * 邮箱验证
     * 
     * @param mail
     *            邮箱
     * @return
     */
    public static boolean validateEmail(String mail) {
        Pattern pattern = Pattern.compile("\\w+([-+.]\\w+)*@\\w+([-.]\\w+)*\\.\\w+([-.]\\w+)*");
        Matcher m = pattern.matcher(mail);
        return m.matches();
    }

3.验证输入的身份证号是否符合格式要求

    /**
     * 验证输入的身份证号是否符合格式要求
     * 
     * @param IDNum
     *            身份证号
     * @return 符合国家的格式要求为 true;otherwise,false;
     */
    public static boolean validateIDcard(String IDNum) {
        String id_regEx1 = "^([1-9]\\d{7}((0\\d)|(1[0-2]))(([0|1|2]\\d)|(3[0-1]))\\d{3})|([1-9]\\d{5}[1-9]\\d{3}((0\\d)|(1[0-2]))(([0|1|2]\\d)|(3[0-1]))\\d{3}[0-9Xx])$";
        Pattern pattern = Pattern.compile(id_regEx1);
        Matcher m = pattern.matcher(IDNum);
        return m.matches();
    }

4.判定输入的是否是汉字

/**
     * 判定输入的是否是汉字
     * 
     * @param c
     *            被校验的字符
     * @return true代表是汉字
     */
    public static boolean isChinese(char c) {
        Character.UnicodeBlock ub = Character.UnicodeBlock.of(c);
        if (ub == Character.UnicodeBlock.CJK_UNIFIED_IDEOGRAPHS
                || ub == Character.UnicodeBlock.CJK_COMPATIBILITY_IDEOGRAPHS
                || ub == Character.UnicodeBlock.CJK_UNIFIED_IDEOGRAPHS_EXTENSION_A
                || ub == Character.UnicodeBlock.GENERAL_PUNCTUATION
                || ub == Character.UnicodeBlock.CJK_SYMBOLS_AND_PUNCTUATION
                || ub == Character.UnicodeBlock.HALFWIDTH_AND_FULLWIDTH_FORMS) {
            return true;
        }
        return false;
    }

5.检测是否有emoji表情

/* 检测是否有emoji表情
    *
    * @param source
    * @return
    */
   public static boolean containsEmoji(String source) {     
       int len = source.length();        
       for (int i = 0; i < len; i++) {           
           char codePoint = source.charAt(i);          
           if (!isEmojiCharacter(codePoint)) { //如果不能匹配,则该字符是Emoji表情
               return true;
           }
       }        return false;
   }    
   /**
    * 判断是否是Emoji
    *
    * @param codePoint 比较的单个字符
    * @return
    */
   private static boolean isEmojiCharacter(char codePoint) {        
       return (codePoint == 0x0) || (codePoint == 0x9) || (codePoint == 0xA) ||
               (codePoint == 0xD) || ((codePoint >= 0x20) && (codePoint <= 0xD7FF)) ||
               ((codePoint >= 0xE000) && (codePoint <= 0xFFFD)) || ((codePoint >= 0x10000)
               && (codePoint <= 0x10FFFF));
   }

6.保留小数点后两位

/**
     * 保留小数点后两位
     */
    public static String formatNumber2(double d) {
        try {
            DecimalFormat df = new DecimalFormat("0.00");
            return df.format(d);
        } catch (Exception e) {
        }
        return "";
    }

猜你喜欢

转载自blog.csdn.net/lamboo_cn/article/details/52239510
今日推荐