正则表达式
-
-
-
- *@return若格式正确,则返回true,若不正确则返回false
- */
- publicbooleanmatcherTime(StringsignTime){
- Patternp=Pattern
- .compile("^((d{2}(([02468][048])|([13579][26]))[-/s]?((((0?[13578])|(1[02]))[-/s]?((1-9])|([2][0-9])|(3
- [01])))|(((469])|(11))[-/s]?((30)))|(0?2[-/s]?((9])))))|(d{1235679])|([013457
- 89]))[-/s]?((((3[2[-
- /s]?((2[8]))))))(s((([1][9]
- )|(2?[3])):([5]?[9])((s)|(:([9])))))?{1}$");
- Matcherm=p.matcher(signTime);
- returnm.find();
- }
-
- *身份证格式校验
- *@paramIdCard身份证号码
- booleanmatcherIdCard(StringIdCard){
- Patternp=Pattern.compile("^[1-9]d{5}[1-9]d{3}((0d)|(1[0-2]))(([0|1|2]d)|3[0-1])d{4}{1}$");
- Matcherm=p.matcher(IdCard);
- returnm.find();
- }
-
- /**
- *匹配身份证(Java版)
- *@parampassport身份证号
- *@return若身份证合法,则返回true否则返回false
- */
- staticbooleantestPassport(Stringpassport){
- HashMap<String,String>map=newHashMap<String,String>();
- map.put("11","北京");
- map.put("12","天津");
- map.put("13","河北");
- map.put("14","山西");
- map.put("15","内蒙古");
- map.put("21","辽宁");
- map.put("22","吉林");
- map.put("23","黑龙江");
- map.put("31","上海");
- map.put("32","江苏");
- map.put("33","浙江");
- map.put("34","安徽");
- map.put("35","福建");
- map.put("36","江西");
- map.put("37","山东");
- map.put("41","河南");
- map.put("42","湖北");
- map.put("43","湖南");
- map.put("44","广东");
- map.put("45","广西");
- map.put("46","海南");
- map.put("50","重庆");
- map.put("51","四川");
- map.put("52","贵州");
- map.put("53","云南");
- map.put("54","西藏");
- map.put("61","陕西");
- map.put("62","甘肃");
- map.put("63","青海");
- map.put("64","宁夏");
- map.put("65","新疆");
- map.put("71","台湾");
- map.put("81","香港");
- map.put("82","澳门");
- map.put("91","国外");
- Stringregex="^d{17}(d|x)$";
- if(!Pattern.matches(regex,passport)){
- System.out.println("不符合规范");
- returnfalse;
- if(map.get(passport.substring(0,2))==null){
- System.out.println("省份错误");
- StringsBirthday=passport.substring(6,0); background-color:inherit">10)+"-"+passport.substring(10,0); background-color:inherit">12)+"-"
- +passport.substring(12,0); background-color:inherit">14);
- SimpleDateFormatdf=newSimpleDateFormat("yyyy-MM-dd");
- try{
- if(df.format(df.parse(sBirthday))==null||!df.format(df.parse(sBirthday)).equals(sBirthday)){
- System.out.println("出生日期错误");
- }catch(ParseExceptione){
- //TODOAuto-generatedcatchblock
- System.out.println("出生日期错误");
- false;
- regex="x$";
- Patternp=Pattern.compile(regex,Pattern.CASE_INSENSITIVE);
- Matcherm=p.matcher(passport);
- passport=m.replaceAll("a");
- intiSum=0;
- for(inti=17;i>=0;i--)
- iSum+=((int)Math.pow(2,i)%11)*Integer.valueOf(String.valueOf(passport.charAt(17-i)),0); background-color:inherit">11);
- if(iSum%11!=1){
- System.out.println("尾数错误");
- true;
- *联系电话格式校验
- *@paramphone联系电话号码
- booleanmatcherPhone(Stringphone){
- Patternp=Pattern.compile("(^(d{2,4}[-_-—]?)?d{3,8}([-_-—]?d{3,8})?([-_-—]?d{1,7})?$)|(^0?1[35]d{9}$)");
- Matcherm=p.matcher(phone);
- *判断编号是否为数字
- *@paramid编号
- *@return若为数字,则返回true,若不正确则返回false
- booleanmatcherId(Stringid){
- Patternp=Pattern.compile("^[1-9][0-9]*{1}$");
- Matcherm=p.matcher(id);
- *去除字符串中重复出现的字符
- *@paramstr字符串
- *@return返回没有重复的字符串
- staticStringcutWord(Stringstr){
- Strings=str;
- s=str.replaceAll("(?s)(.)(?=.*1)","");
- returns;
- }
(编辑:李大同)
【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!
|