首页

基于java.util.regex.Pattern正则表达式对常见邮件、手机及身份证、日期等验证实现规则模板示例

标签:正则表达式,pattern,通配符匹配,邮政编码,电话号码,手机号验证,IP地址验证,身份证号码,规则配置     发布时间:2017-12-30   

一、前言

基于java.util.regex.Pattern正则表达式实现通配符匹配、邮政编码、电话号码、手机号验证、IP地址验证、身份证号码、日期、电子邮箱及字符串替换等规则参考配置模板。

二、示例源码

1.规则配置使用类PatternMatchers

import java.util.regex.Pattern;@b@@b@public class PatternMatchers {@b@	@b@	//1.通配符匹配@b@	private static final Pattern COMMON_PATTERN = Pattern.compile("b*g");@b@	@b@	//2.验证邮政编码@b@	private static final Pattern MAIL_PATTERN = Pattern.compile("[0-9]{6}");@b@	@b@	//3.验证电话号码@b@	private static final Pattern TELEPONE_PATTERN = Pattern.compile("[0-9]{3,4}\\-?[0-9]");@b@	@b@	//4.手机号验证;"^[1][3,4,5,8][0-9]{9}$";^((13[0-9])|(14[5|7])|(15([0-3]|[5-9]))|(17[013678])|(18[0,5-9]))\\d{8}$@b@	private static final Pattern MOBILE_PATTERN = Pattern.compile("^((13[0-9])|(15[^4,\\D])|(18[0,5-9]))\\d{8}$");@b@	@b@	//5.IP地址验证@b@	private static final Pattern IP_PATTERN = Pattern.compile("127(\\.\\d{1,3}){3}$");@b@	@b@	//6.验证身份证号码@b@	private static final Pattern ID_PATTERN = Pattern.compile("^\\d{15}|\\d{18}$");@b@	@b@	//7.验证日期提取出月份@b@	private static final Pattern DATE_PATTERN = Pattern.compile("([a-zA-Z]+)|\\s+[0-9]{1,2},\\s*[0-9]{4}");@b@	@b@	//8.验证电子邮箱验证@b@	private static final Pattern EMAIL_PATTERN = Pattern.compile("[0-9a-zA-Z]+@[0-9a-zA-Z]+\\.[0-9a-zA-Z]+");@b@	@b@	//9.字符串替换@b@	private static final Pattern STR_PATTERN = Pattern.compile("[0-9a-zA-Z]+@[0-9a-zA-Z]+\\.[0-9a-zA-Z]+");@b@	@b@	public static  boolean  valid(String valueStr,Pattern pattern){@b@		if(valueStr!=null&&pattern.matcher(valueStr).matches()){@b@			return true;@b@		}@b@		return false;@b@	} @b@	@b@	@b@	public static void main(String[] args) {@b@		if(valid("junni@xwood.net",EMAIL_PATTERN))@b@			System.out.println("电子邮箱地址验证正确");@b@		@b@		if(valid("15921540741",MOBILE_PATTERN))@b@			System.out.println("手机号码验证正确");@b@	}@b@	@b@}

控制台结果

电子邮箱地址验证正确@b@手机号码验证正确

2.if-util-3.2.8.jar的DataPattern常用数据正则表达式格式表

package com.bill99.seashell.common.validator.util;@b@@b@import java.io.PrintStream;@b@import java.util.regex.Pattern;@b@@b@public final class DataPattern@b@{@b@  public static final String EMAIL_PATTERN = new String("\\w+([-+.]\\w+)*@([a-z0-9A-Z]+)([-.]\\w+)*\\.\\w+([-.]\\w+)*");@b@  public static final String PHONE_PATTERN = new String("^((1[35]\\d{9})|(0\\d{2,3}-\\d{7,8}(-\\d{1,4})?)$)");@b@  public static final String MOBILE_PATTERN = new String("(1[35]\\d{9})");@b@  public static final String QQ_PATTERN = new String("[1-9]\\d{4,11}");@b@  public static final String URL_PATTERN = new String("^(\\s)*(http(s)?://)?([\\w-]+\\.)+[\\w-]+(:(\\d{1,4}))?(/[\\w-./?%&=]*)?(\\s)*$");@b@  public static final String IDCARD_PATTERN = new String("^(\\s)*(\\d{15}|\\d{18}|\\d{7}x)(\\s)*$/i");@b@  public static final String ZIPCODE_PATTERN = new String("^\\d{6}$");@b@  public static final String PASSWORD_PATTERN = new String("^[a-zA-Z\\-0-9\\_]+$");@b@  public static final String AGREEMENT_PATTERN = new String("on");@b@  public static final String CN_EN_PATTERN = new String("([a-zA-Z\\u4E00-\\u9FFF\\u00B7\\s])+");@b@  public static final String CN_EN_KUOHAO_PATTERN = new String("([\\(\\)\\(\\)a-zA-Z\\u4E00-\\u9FFF\\u00B7\\s])+");@b@  public static final String CN_PATTERN = new String("[\\u4E00-\\u9FFF\\u00B7]+");@b@  public static final String EN_SPACE_PATTERN = new String("[a-zA-Z\\s]+");@b@  public static final String EN_NUM_SPACE_PATTERN = new String("[a-zA-Z\\s0-9]+");@b@  public static final String FAX_PATTERN = new String("^[\\s]*(0\\d{2,4}\\-){1}[1-9]{1}\\d{6,9}[\\s]*$");@b@  public static final String CN_EN_NUM_SPACE = new String("[0-9a-zA-Z\\u4E00-\\u9FFF\\s]+");@b@  public static final String FLOAT_PATTERN = new String("([-\\+]?\\d{1,8}(\\.\\d{1,2})?)");@b@  public static final String EN_NUM_PATTERN = new String("[0-9a-zA-Z]+");@b@@b@  public static void main(String[] args)@b@  {@b@    System.out.println(Pattern.matches(URL_PATTERN, "https://www.sina.com?de=aa&a=树倒猢狲散"));@b@    System.out.println(Pattern.matches(MOBILE_PATTERN, "13501972866"));@b@    System.out.println(Pattern.matches(ZIPCODE_PATTERN, "410001"));@b@  }@b@}
<<热门下载>>