All Downloads are FREE. Search and download functionalities are using the official Maven repository.

net.arccode.wechat.pay.api.common.util.StringUtils Maven / Gradle / Ivy

The newest version!
package net.arccode.wechat.pay.api.common.util;

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

/**
 * 字符串工具类
 *
 * @author http://arccode.net
 * @since 2015-11-02
 */
public class StringUtils {

    private StringUtils() {
    }

    /**
     * 判断是否是ip地址
     * @param ip
     * @return
     */
    public static boolean isIpAddress(String ip) {
        if (ip.length() < 7 || ip.length() > 15 || "".equals(ip)) {
            return false;
        }
        /**
         * 判断IP格式和范围
         */
        String rexp = "([1-9]|[1-9]\\d|1\\d{2}|2[0-4]\\d|25[0-5])(\\.(\\d|[1-9]\\d|1\\d{2}|2[0-4]\\d|25[0-5])){3}";
        Pattern regex = Pattern.compile(rexp);
        Matcher matcher = regex.matcher(ip);
        boolean isMatched = matcher.find();

        return isMatched;
    }

    /**
     * 判断是否是Email
     *
     * @param email
     * @return
     */
    public static boolean isEmailAddress(String email) {
        if (email.length() < 3 || "".equals(email)) {
            return false;
        }

        String rexp = "^([a-z0-9A-Z]+[-|\\.]?)+[a-z0-9A-Z]@([a-z0-9A-Z]+(-[a-z0-9A-Z]+)?\\.)+[a-zA-Z]{2,}$";
        Pattern regex = Pattern.compile(rexp);
        Matcher matcher = regex.matcher(email);
        boolean isMatched = matcher.find();

        return isMatched;
    }

    /**
     * 判断是否是手机
     *
     * @param phone
     * @return
     */
    public static boolean isPhoneNum(String phone) {
        String rexp = "^((13[0-9])|(147)|(15[^4,\\D])|(18[0-9])|(17[0-9]))\\d{8}$";
        Pattern regex = Pattern.compile(rexp);
        Matcher matcher = regex.matcher(phone);
        boolean isMatched = matcher.find();

        return isMatched;
    }

    /**
     * 检查指定的字符串是否为空。
     * 
    *
  • SysUtils.isEmpty(null) = true
  • *
  • SysUtils.isEmpty("") = true
  • *
  • SysUtils.isEmpty(" ") = true
  • *
  • SysUtils.isEmpty("abc") = false
  • *
* * @param value 待检查的字符串 * @return true/false */ public static boolean isEmpty(String value) { int strLen; 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; } /** * 检查对象是否为数字型字符串,包含负数开头的。 */ 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; } /** * 检查指定的字符串列表是否不为空。 */ 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 unicodeToChinese(String unicode) { StringBuilder out = new StringBuilder(); if (!isEmpty(unicode)) { for (int i = 0; i < unicode.length(); i++) { out.append(unicode.charAt(i)); } } return out.toString(); } /** * 过滤不可见字符 */ public static String stripNonValidXMLCharacters(String input) { if (input == null || ("".equals(input))) return ""; StringBuilder out = new StringBuilder(); char current; for (int i = 0; i < input.length(); i++) { current = input.charAt(i); if ((current == 0x9) || (current == 0xA) || (current == 0xD) || ((current >= 0x20) && (current <= 0xD7FF)) || ((current >= 0xE000) && (current <= 0xFFFD)) || ((current >= 0x10000) && (current <= 0x10FFFF))) out.append(current); } return out.toString(); } }




© 2015 - 2025 Weber Informatics LLC | Privacy Policy