正则工具类

public class PrincipalUtil {

	/**
	 * 以1开头,后面跟10位数
	 */
	public static final String MOBILE_REGEXP = "1[0-9]{10}";

	/**
	 * 1. 用户名不能为纯数字 2. 由数字字母下划线 4-16位组成
	 */
	public static final String USER_NAME_REGEXP = "(?!\\d+$)([a-zA-Z0-9_]{4,16})";

	/**
	 * 字段名,数字字母下划线
	 */
	public static final String FIELD_REGEXP = "([a-zA-Z0-9_]+)";

	/**
	 * 由简单的字母数字拼接而成的字符串 不含有下划线,大写字母
	 */
	public static final String SIMPLE_CHAR_REGEXP = "([a-z0-9]+)";

	/**
	 * 邮箱正则
	 */
	public static final String EMAIL_REGEXP = "[\\w!#$%&'*+/=?^_`{|}~-]+(?:\\.[\\w!#$%&'*+/=?^_`{|}~-]+)*@(?:[\\w](?:[\\w-]*[\\w])?\\.)+[\\w](?:[\\w-]*[\\w])?";

	/**
	 * http协议正则
	 */
	public static final String HTTP_PROTOCOL_REGEXP = "^((http[s]{0,1})://)";



	/**
	 * 是否是手机号
	 * @param value 输入值
	 * @return 匹配结果
	 */
	public static boolean isMobile(String value) {
		return isMatching(MOBILE_REGEXP, value);
	}

	/**
	 * 是否是用户名
	 * @param value 输入值
	 * @return 匹配结果
	 */
	public static boolean isUserName(String value) {
		return isMatching(USER_NAME_REGEXP, value);
	}

	/**
	 * 是否符合字段规则
	 * @param value 输入值
	 * @return 匹配结果
	 */
	public static boolean isField(String value) {
		return !isMatching(FIELD_REGEXP, value);
	}

	/**
	 * 是否是邮箱
	 * @param value 输入值
	 * @return 匹配结果
	 */
	public static boolean isEmail(String value) {
		return isMatching(EMAIL_REGEXP, value);
	}

	/**
	 * 是否是由简单的字母数字拼接而成的字符串
	 * @param value 输入值
	 * @return 匹配结果
	 */
	public static boolean isSimpleChar(String value) {
		return isMatching(SIMPLE_CHAR_REGEXP, value);
	}

	/**
	 * 是否是HTTP协议
	 * @param value 输入值
	 * @return 匹配结果
	 */
	public static boolean isHttpProtocol(String value) {
		return isFind(HTTP_PROTOCOL_REGEXP, value);
	}

	public static boolean isMatching(String regexp, String value) {
		if (StrUtil.isBlank(value)) {
			return false;
		}
		return Pattern.matches(regexp, value);
	}

	public static boolean isFind(String regexp, String value) {
		if (StrUtil.isBlank(value)) {
			return false;
		}
		Pattern pattern= Pattern.compile(regexp);
		return pattern.matcher(value).find();
	}
}

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

熟透的蜗牛

永远满怀热爱,永远热泪盈眶

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值