|
|
|
|
|
import java.util.regex.Matcher; |
|
|
java.util.regex.Pattern; |
|
|
|
|
|
/** |
|
|
* 正则表达式格式工具 |
|
|
* Created by Homer on 2015/11/18. |
|
|
*/ |
|
|
public class RegExpUtil { |
|
|
/** |
|
|
* 判断是否为纯数字,允许为空字符串 |
|
|
*/ |
|
|
static boolean isNumeric(String str) { |
|
|
Pattern pattern = Pattern.compile("[0-9]*"); |
|
|
Matcher isNum = patternmatcher(str); |
|
|
return isNummatches(); |
|
|
} |
|
|
|
|
|
/** |
|
|
* 判断是否为纯数字,且不为空字符串 |
|
|
*/ |
|
|
boolean isNumericNotNone{ |
|
|
Pattern pattern "[0-9]+"); |
|
|
Matcher isNum ); |
|
|
(); |
|
|
} |
|
|
|
|
|
/** |
|
|
* 判断座机电话 |
|
|
* 可匹配000-0000000前三或四后七或八 |
|
|
* 可匹配(000)0000000前三或四后七或八 |
|
|
* 可匹配000-00000000-000或(000)0000000-000分机为三至五位 |
|
|
* 亦可匹配(000) 0000000及(000)-0000000格式 |
|
|
*/ |
|
|
boolean isTelephone{ |
|
|
Pattern pattern "0d{2,3}-d{7,8}" |
|
|
+ "|(0d{2,3})[- ]?d{7,8}|0d{2,3}[- ]?d{7,8}-d{3,5}" |
|
|
); |
|
|
Matcher invalid ); |
|
|
return invalid(); |
|
|
} |
|
|
|
|
|
/** |
|
|
* 验证手机号是否合法 |
|
|
* 目前已包含177号段以及147号段等,有可能需要更新 |
|
|
*/ |
|
|
boolean isMobileStrict){ |
|
|
// Pattern pattern1 = Pattern.compile("((13[0-9])|(14[0-9])|(15[0-9])|(17[0-9])|(18[0-9]))d{8}"); |
|
|
Pattern pattern "1[3|4|5|7|8]d{9}");//用Matcher.matches()时不需要前后的"^"和"$" |
|
|
Matcher invalid ); |
|
|
(); |
|
|
} |
|
|
/** |
|
|
* 验证手机号码是否合法 |
|
|
* 简单匹配,仅检测长度和首位 |
|
|
*/ |
|
|
boolean isMobileNO{ |
|
|
Pattern pattern "[1]d{10}"); |
|
|
Matcher invalid ); |
|
|
(); |
|
|
} |
|
|
|
|
|
/** |
|
|
* 18位或者15位身份证验证 18位的最后一位可以是字母x |
|
|
*/ |
|
|
boolean personIdValidation{ |
|
|
Pattern pattern "(d{15})|(d{17}([0-9]|X|x))"); |
|
|
Matcher invalid ); |
|
|
(); |
|
|
} |
|
|
|
|
|
/** |
|
|
* 验证邮箱格式 |
|
|
*/ |
|
|
boolean emailValidation{ |
|
|
Pattern pattern "w+([-+.]w+)*@w+([-.]w+)*.w+([-.]w+)*"); |
|
|
Matcher invalid ); |
|
|
(); |
|
|
} |
|
|
|
|
|
/** |
|
|
* 验证是否是全角字符 |
|
|
*/ |
|
|
boolean quanjiaoValidation(String quanjiao{ |
|
|
Pattern pattern "[u0391-uFFE5]*"); |
|
|
Matcher invalid (quanjiao); |
|
|
(); |
|
|
} |
|
|
|
|
|
/** |
|
|
* 验证是否是汉字 |
|
|
*/ |
|
|
boolean hanziValidation(String hanzi{ |
|
|
Pattern pattern "[u4e00-u9fa5]*"); |
|
|
Matcher invalid (hanzi); |
|
|
(); |
|
|
} |
|
|
|
|
|
/** |
|
|
* 验证是否是中文名字,包含少数民族的间隔符,如爱新觉罗·玄烨 |
|
|
*/ |
|
|
boolean xingmingValidation{ |
|
|
Pattern pattern "[u4e00-u9fa5·]*"); |
|
|
Matcher invalid ); |
|
|
(); |
|
|
} |
|
|
|
|
|
/** |
|
|
* 验证是否是中文英文数字 |
|
|
*/ |
|
|
boolean ZYSValidation{ |
|
|
Pattern pattern "([a-zA-Z0-9]|[u4E00-u9FA5])*"); |
|
|
Matcher invalid ); |
|
|
(); |
|
|
} |
|
|
|
|
|
/** |
|
|
* 验证是否是公司名称,可以带括号 |
|
|
*/ |
|
|
boolean company_nameValidation{ |
|
|
Pattern pattern "([a-zA-Z0-9]|[()]|[uFF08uFF09]|[u4E00-u9FA5])*"); |
|
|
Matcher invalid ); |
|
|
(); |
|
|
} |
|
|
|
|
|
/** |
|
|
* 验证是否是地址 |
|
|
*/ |
|
|
boolean addressValidation{ |
|
|
Pattern pattern "([a-zA-Z0-9]|[-—|[u002du2014u2010]|[u4E00-u9FA5])*"); |
|
|
Matcher invalid ); |
|
|
(); |
|
|
} |
|
|
|
|
|
/** |
|
|
* 验证车牌号,要求字母大写,如:鄂A-66666,中间可为"·"或"-"或"-"或空格或无 |
|
|
*/ |
|
|
boolean carCardValidation){ |
|
|
Pattern pattern "[u4e00-u9fa5]{1}[A-Z]{1}[u0020u002du2014u2010u003AuFF1A·]?[A-Z0-9]{5}"); |
|
|
Matcher invalid ); |
|
|
(); |
|
|
} |
|
|
} |