`
tangkuo
  • 浏览: 103120 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
文章分类
社区版块
存档分类
最新评论

StringUtils

 
阅读更多
/**
* Copyright (c) 2011-2014 All Rights Reserved.
*/
package com.kame.micropay.commons.util;

import java.util.regex.Matcher;
import java.util.regex.Pattern;

/**
* 类说明: 字符串工具类。<br>

public abstract class StringUtils {

    private StringUtils() {
    }

    /**
     * 检查指定的字符串是否为空。
     * <ul>
     * <li>SysUtils.isEmpty(null) = true</li>
     * <li>SysUtils.isEmpty("") = true</li>
     * <li>SysUtils.isEmpty("   ") = true</li>
     * <li>SysUtils.isEmpty("abc") = false</li>
     * </ul>
     *
     * @param value 待检查的字符串
     * @return true/false
     */
    public static boolean isEmpty(String value) {
        int strLen = 0;
        if (value == null || (strLen = value.length()) == 0) {
            return true;
        }
        for (int i = 0; i < strLen; i++) {
            if ((Character.isWhitespace(value.charAt(i)) == false)) {
                return false;
            }
        }
        return true;
    }
    /**
     * 用于时间查询
     *
     * @param str 2015-11-11
     * @return 2015-11-11 00:00:00
     */
    public static String getStartDate(String str){
    if(isNotEmpty(str)){
    return str + " 00:00:00";
    }
    return null;
    }
    /**
     * 用于时间查询
     *
     * @param str 2015-11-11
     * @return 2015-11-11 23:59:59
     */
    public static String getEndDate(String str){
    if(isNotEmpty(str)){
    return str + " 23:59:59";
    }
    return null;
    }
    /**
     * 判断一个字符串不为空
     * @param str
     * @return
     */
    public static boolean isNotEmpty(String str){
    if(!(str == null || str.trim().length() == 0)){
    return true;
    }
    return false;
    }
   
    /**
     * 检查对象是否为数字型字符串,包含负数开头的。
     */
    public static boolean isNumeric(Object obj) {
        if (obj == null) {
            return false;
        }
        char[] chars = obj.toString().toCharArray();
        int length = chars.length;
        if(length < 1)
            return false;
       
        int i = 0;
        if(length > 1 && chars[0] == '-')
            i = 1;
       
        for (; i < length; i++) {
            if (!Character.isDigit(chars[i])) {
                return false;
            }
        }
        return true;
    }

    /**
     * 方法说明:在不确认参数是否为空时使用此方法<br>
     *
     * @param cs1
     * @param cs2
     * @return
     */
    public static boolean equals(CharSequence cs1, CharSequence cs2) {
        return cs1 == null ? cs2 == null : cs1.equals(cs2);
    }

    /**
     * 检查指定的字符串列表是否不为空。
     */
    public static boolean areNotEmpty(String... values) {
        boolean result = true;
        if (values == null || values.length == 0) {
            result = false;
        } else {
            for (String value : values) {
                result &= !isEmpty(value);
            }
        }
        return result;
    }

    public static String encryptEmail(String email) {
        if (isEmpty(email))
            return "";
        int ind = email.indexOf("@");
        if (ind <= 0)
            return "";
        String[] ss = email.split("@");
        if (ind <= 2) {
            return ss[0] + "***" + "@" + ss[1];
        } else if (ind > 2) {
            return ss[0].substring(0, 2) + "***" + "@" + ss[1];
        }
        return "";
    }
   
    public static boolean checkEmail(String email) {
    Pattern pattern = Pattern.compile("^([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})(\\]?)$");
    Matcher matcher = pattern.matcher(email);
    return matcher.matches();
    }
    public static boolean checkMobile(String mobile) {
    Pattern pattern = Pattern.compile("^[1][3,4,5,8][0-9]{9}$");
    Matcher matcher = pattern.matcher(mobile);
    return matcher.matches();
    }
   
    /**
     * 格式化银行卡号,前六后四
     *
     * @param cardNo
     * @return
     */
    public static String formatBankCardNo(String cardNo){
    if(StringUtils.isEmpty(cardNo) ){
    return "";
    }
    if(cardNo.length() <= 10){
    return cardNo;
    }
    StringBuffer sb = new StringBuffer();
    sb.append(cardNo.substring(0, 6))
    .append("******")
    .append(cardNo.substring(cardNo.length()-4, cardNo.length()));
    return sb.toString();
    }
   
    /**
     * 格式化银行卡号,隐藏至后四
     *
     * @param cardNo
     * @return
     */
    public static String formatBankCardNo1(String cardNo){
    if(StringUtils.isEmpty(cardNo) ){
    return "";
    }
    StringBuffer sb = new StringBuffer();
    sb.append("**************")
    .append(cardNo.substring(cardNo.length()-4));
    return sb.toString();
    }
   
    /**
     * 格式化手机号码
     *
     * @param cardNo
     * @return
     */
    public static String formatMobile(String mobile){
    if(StringUtils.isEmpty(mobile) ){
    return "";
    }
    if(mobile.length() <= 7){
    return mobile;
    }
    StringBuffer sb = new StringBuffer();
    sb.append(mobile.substring(0, 3))
    .append("****")
    .append(mobile.substring(mobile.length()-4, mobile.length()));
    return sb.toString();
    }
   
    /**
     * 获取银行卡后四位
     *
     * @param cardNo
     * @return
     */
    public static String getBankCardRight4(String cardNo){
    if(StringUtils.isEmpty(cardNo) ){
    return "";
    }
    if(cardNo.length() <= 4){
    return cardNo;
    }
   
    return cardNo.substring(cardNo.length()-4, cardNo.length());
    }
   
    public static void main(String [] args){
    System.out.println(StringUtils.formatBankCardNo("62660987999999978998767"));
    System.out.println(StringUtils.getBankCardRight4("62660987999999978998767"));
   
    System.out.println(StringUtils.formatMobile("15914119964"));
    }
   
   
}
分享到:
评论

相关推荐

    StringUtils的各项用法

    《StringUtils的深度解析与应用》 在Java编程中,处理字符串是常见的任务,Apache Commons Lang库中的StringUtils类提供了丰富的字符串操作方法,极大地提高了开发效率。本文将深入探讨StringUtils的几个重要功能,...

    org.apache.commons.lang3.StringUtils.jar

    java获取客户端ip(经过多次代理)提示StringUtils cannot be resolved 需要先 import org.apache.commons.lang3.StringUtils; /* 内含 common-lang3.jar commons-lang3-3.9-bin.zip commons-lang3-3.9-src.zip ...

    org.apache.commons.lang3.StringUtils.jar.rar

    在给定的标题 "org.apache.commons.lang3.StringUtils.jar.rar" 中,我们可以看到这个压缩包包含的是 `StringUtils.jar`,实际上它是一个 `common-lang3.jar` 文件的别名。这个 JAR 包是 Apache Commons Lang 项目的...

    自定封装StringUtils常用方法

    继承了org.apache.commons.lang3.StringUtils工具类,加入了部分常用方法,使用时直接添加到项目的公共utils下,同时在pom.xml加入依赖: &lt;!-- ...

    StringUtils(最新)

    `StringUtils` 是 Apache Commons Lang 库中的一个核心类,提供了大量关于字符串操作的实用方法,旨在作为 Java 核心库的扩展。这个库在 `commons-lang-2.5` 版本中是最新的,尽管现在可能有更新的版本,但这个版本...

    stringUtils的jar包

    org.apache.commons.lang3.StringUtils的jar包,判断字符串为空

    StringUtils工具类的使用

    `StringUtils`工具类是Java开发中非常常用的一个类库,主要提供了一系列静态方法来处理字符串。这个工具类在处理字符串的常见操作时提供了很大的便利,比如数组转字符串、空值检测、非空处理以及空格处理等。接下来...

    StringUtils API 使用方法

    `StringUtils` API 是 Apache Commons Lang 库中的一个实用工具类,专门为处理 `java.lang.String` 对象提供了丰富的静态方法。这个库是对 Java 标准库中的 `String` 类方法的一个扩展,尤其在处理 `null` 和空白...

    StringUtils源码及使用文档

    `StringUtils`是Apache Commons Lang库中的一个核心工具类,它提供了大量的静态方法,用于处理字符串。这个类在Java开发中非常常见,因为它弥补了Java标准库中对字符串操作的不足。`StringUtils`类包含了多种字符串...

    StringUtils jar包

    `StringUtils` jar包是Java开发中的一个实用工具库,它为处理字符串提供了许多方便的方法。这个库主要由Apache Commons Lang项目提供,这是一个广泛使用的开源组件,旨在补充Java标准库中对于字符串操作的功能不足。...

    StringUtils (Lang 2_3 API)

    `StringUtils`是Apache Commons Lang库中的一个核心工具类,它提供了大量的静态方法,用于处理字符串。这个库在Java开发中非常常见,因为它弥补了Java标准库中对字符串操作的不足。`StringUtils`类包含了多种实用...

    commons-lang3-3.1 StringUtils字符串jar包

    commons-lang3-3.1 StringUtils字符串jar包 org.apache.commons.lang3.StringUtils的jar包

    StringUtils 字符串常用工具

    在Java编程语言中,`StringUtils` 是一个非常实用的工具类,它提供了大量关于字符串操作的方法,极大地简化了对字符串的处理。这个类通常在处理字符串时提高代码的可读性和效率,尤其在处理字符串的空值、拼接、分割...

    StringUtils函数全集

    ### StringUtils函数全集详解 #### 一、简介 在Java编程语言中,处理字符串是非常常见的需求之一。为了方便开发者高效地进行字符串操作,Apache Commons Lang库提供了一个强大的工具类——`StringUtils`。此工具类...

    StringUtils的用法

    \n\t\f\r") = "" //所有控制字符都被移除 StringUtils.trim("bob") = "bob" StringUtils.trim(" bob ") = "bob" 6. public static String trimToNull(String str) 和 trim() 类似,但结果为 null 时返回 null,而...

    B4A - StringUtils.rar_android_b4a_basic_strings_utilities

    "StringUtils.rar_android_b4a_basic_strings_utilities"这个压缩包,显然专注于介绍B4A中处理字符串的实用工具。在本教程中,我们将深入探讨B4A中的字符串处理函数和技巧,这对于任何想要提高其B4A编程技能的开发者...

Global site tag (gtag.js) - Google Analytics