常用正则表达式

来源:互联网 发布:知乎头像 编辑:程序博客网 时间:2024/06/05 16:45
importjava.util.regex.Matcher;importjava.util.regex.Pattern;/*** 正则表达式格式工具* Created by Homer on 2015/11/18.*/publicclass RegExpUtil {/*** 判断是否为纯数字,允许为空字符串*/publicstatic boolean isNumeric(Stringstr){Pattern pattern = Pattern.compile("[0-9]*");Matcher isNum = pattern.matcher(str);returnisNum.matches();}/*** 判断是否为纯数字,且不为空字符串*/publicstatic boolean isNumericNotNone(Stringstr){Pattern pattern = Pattern.compile("[0-9]+");Matcher isNum = pattern.matcher(str);returnisNum.matches();}/*** 判断座机电话* 可匹配000-0000000前三或四后七或八* 可匹配(000)0000000前三或四后七或八* 可匹配000-00000000-000或(000)0000000-000分机为三至五位* 亦可匹配(000) 0000000及(000)-0000000格式*/publicstatic boolean isTelephone(Stringstr){Pattern pattern = Pattern.compile("0\\d{2,3}-\\d{7,8}"+"|\\(0\\d{2,3}\\)[- ]?\\d{7,8}|0\\d{2,3}[- ]?\\d{7,8}|0\\d{2,3}-\\d{7,8}-\\d{3,5}"+"|\\(0\\d{2,3}\\)[- ]?\\d{7,8}-\\d{3,5}");Matcher invalid = pattern.matcher(str);returninvalid.matches();}/*** 验证手机号是否合法* 目前已包含177号段以及147号段等,有可能需要更新*/publicstatic boolean isMobileStrict(Stringstr){// Pattern pattern1 = Pattern.compile("((13[0-9])|(14[0-9])|(15[0-9])|(17[0-9])|(18[0-9]))\\d{8}");Pattern pattern = Pattern.compile("1[3|4|5|7|8]\\d{9}");//用Matcher.matches()时不需要前后的"^"和"$"Matcher invalid = pattern.matcher(str);returninvalid.matches();}/*** 验证手机号码是否合法* 简单匹配,仅检测长度和首位*/publicstatic boolean isMobileNO(Stringstr){Pattern pattern = Pattern.compile("[1]\\d{10}");Matcher invalid = pattern.matcher(str);returninvalid.matches();}/*** 18位或者15位身份证验证 18位的最后一位可以是字母x*/publicstatic boolean personIdValidation(Stringstr){Pattern pattern = Pattern.compile("(\\d{15})|(\\d{17}([0-9]|X|x))");Matcher invalid = pattern.matcher(str);returninvalid.matches();}/*** 验证邮箱格式*/publicstatic boolean emailValidation(Stringstr){Pattern pattern = Pattern.compile("\\w+([-+.]\\w+)*@\\w+([-.]\\w+)*\\.\\w+([-.]\\w+)*");Matcher invalid = pattern.matcher(str);returninvalid.matches();}/*** 验证是否是全角字符*/publicstatic boolean quanjiaoValidation(Stringquanjiao){Pattern pattern = Pattern.compile("[\u0391-\uFFE5]*");Matcher invalid = pattern.matcher(quanjiao);returninvalid.matches();}/*** 验证是否是汉字*/publicstatic boolean hanziValidation(Stringhanzi){Pattern pattern = Pattern.compile("[\u4e00-\u9fa5]*");Matcher invalid = pattern.matcher(hanzi);returninvalid.matches();}/*** 验证是否是中文名字,包含少数民族的间隔符,如爱新觉罗·玄烨*/publicstatic boolean xingmingValidation(Stringhanzi){Pattern pattern = Pattern.compile("[\u4e00-\u9fa5·]*");Matcher invalid = pattern.matcher(hanzi);returninvalid.matches();}/*** 验证是否是中文英文数字*/publicstatic boolean ZYSValidation(Stringhanzi){Pattern pattern = Pattern.compile("([a-zA-Z0-9]|[\u4E00-\u9FA5])*");Matcher invalid = pattern.matcher(hanzi);returninvalid.matches();}/*** 验证是否是公司名称,可以带括号*/publicstatic boolean company_nameValidation(Stringhanzi){Pattern pattern = Pattern.compile("([a-zA-Z0-9]|[()]|[\uFF08\uFF09]|[\u4E00-\u9FA5])*");Matcher invalid = pattern.matcher(hanzi);returninvalid.matches();}/*** 验证是否是地址*/publicstatic boolean addressValidation(Stringhanzi){Pattern pattern = Pattern.compile("([a-zA-Z0-9]|[-—‐]|[\u002d\u2014\u2010]|[\u4E00-\u9FA5])*");Matcher invalid = pattern.matcher(hanzi);returninvalid.matches();}/*** 验证车牌号,要求字母大写,如:鄂A-66666,中间可为"·"或"-"或"-"或空格或无*/publicstatic boolean carCardValidation(Stringstr){Pattern pattern = Pattern.compile("[\u4e00-\u9fa5]{1}[A-Z]{1}[\u0020\u002d\u2014\u2010\u003A\uFF1A·]?[A-Z0-9]{5}");Matcher invalid = pattern.matcher(str);returninvalid.matches();}}
0 0
原创粉丝点击