package com.string;
import java.util.regex.Pattern;
/**
* @author zx
*
* @since 2013-10-28
*/
public class StringUtil {
/**
* 判断字符串是否为整数
*
* @param str
* 传入字符串
* @return 是整数返回true,否则返回false
*/
public static boolean isInteger(String str) {
if (isBlank(str))
return false;
Pattern pattern = Pattern.compile("^[-\\+]?[1-9][\\d]*$");
return pattern.matcher(str).matches();
}
/**
* 判断是否为浮点数,包括double和float
*
* @param str
* 传入字符串
* @return 是浮点数返回true,否则返回false
*/
public static boolean isDouble(String str) {
if (isBlank(str))
return false;
Pattern pattern = Pattern.compile("^[-\\+]?[1-9][\\d]*[.]?[\\d]+$");
return pattern.matcher(str).matches();
}
/**
* 判断输入的字符串是否符合Email样式.
*
* @param str
* 传入字符串
* @return 是Email样式返回true,否则返回false
*/
public static boolean isEmail(String str) {
if (isBlank(str))
return false;
Pattern pattern = Pattern
.compile("^\\w+([-+.]\\w+)*@\\w+([-.]\\w+)*\\.\\w+([-.]\\w+)*$");
return pattern.matcher(str).matches();
}
/**
* 判断输入的字符串是否为纯汉字,不是包含汉子或者其他字符
*
* @param str
* 传入字符串
* @return 如果是汉字返回true,否则返回false
*/
public static boolean isChinese(String str) {
if (isBlank(str))
return false;
Pattern pattern = Pattern.compile("[\u0391-\uFFE5]+$");
return pattern.matcher(str).matches();
}
/**
* 判断是否为空,包括null和"",其中" "无论有多少空格都返回true,表示为空
*
* @param str
* 传入字符串
* @return 为空返回true,否则返回false
*/
public static boolean isBlank(String str) {
return str == null || str.trim().length() == 0;
}
}
有条件的话直接使用Apache的StringUtils包更好