判断整数、判断邮箱、判断手机号码、判断邮政编码、判断中文

这是常用到的一些基础判断,记录下来:

 

包括是:判断整数、判断邮箱、判断手机号码、判断邮政编码、判断中文

 

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


import org.apache.commons.lang3.StringUtils;
import org.apache.commons.lang3.math.NumberUtils;


public class StringHelper {
	private StringHelper() {


	}


	/**
	 * 判断str是否整数
	 * 
	 * @param str
	 * @return
	 */
	public static boolean isInteger(String str) {


		return NumberUtils.isDigits(str);
	}


	/**
	 * 判断str是否数字(整数、小数、科学计数法等等格式)
	 * 
	 * @param str
	 *            非空字符串
	 * @return
	 */
	public static boolean isNumber(String str) {


		return NumberUtils.isNumber(str);
	}


	private static final String REG_CHINESE = "^[\u4e00-\u9fa5]+$";


	private static final String REG_EMAIL = "^([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})(\\]?)$";


	protected static boolean isMatch(String str, String regPattern) {


		if (str == null || str.length() == 0)
			return false;


		Pattern p = Pattern.compile(regPattern);
		Matcher m = p.matcher(str);


		return m.matches();
	}


	/**
	 * 是否是合格的手机号码格式
	 * 
	 * @param phoneNum
	 *            非空字符串电话号码
	 * @return true 合法的手机号
	 */
	public static boolean isPhoneNum(String phoneNum) {


		return isMatch(phoneNum, "^((13[0-9])|(15[^4,\\D])|(18[0,5-9]))\\d{8}$");
	}


	//
	/**
	 * 判断email格式是否正确
	 * 
	 * @param email
	 *            非空字符串
	 * @return
	 */
	public static boolean isEmail(String email) {


		return isMatch(email, REG_EMAIL);
	}


	/**
	 * 匹配中国邮政编码
	 * 
	 * @param str
	 *            非空字符串
	 * @return
	 */
	public static boolean isPostCode(String str) {
		return isMatch(str, "^[1-9]\\d{5}$");
	}


	/**
	 * 中国的身份证为15位或18位
	 * 
	 * @param str
	 *            非空字符串
	 * @return
	 */
	public static boolean isIdCard(String str) {
		return isMatch(str, "(^\\d{17}([0-9]|X)|^\\d{15}$");
	}


	/**
	 * 剔除首尾空格
	 * 
	 * @param str
	 * @return 剔除首尾空格
	 */
	public static String trim(String str) {


		return StringUtils.trim(str);
	}


	/**
	 * 非空字符串是否是中文
	 * 
	 * @param str
	 *            非空字符串
	 * @return 全是中文字符为true
	 */
	public static boolean isChinese(String str) {
		if (str == null) {
			return false;
		}
		if (str.length() == 0) {
			return false;
		}
		Pattern pt = Pattern.compile(REG_CHINESE);
		Matcher mt = pt.matcher(str);
		return mt.matches();
	}
}

 

 

 

 

 

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值