概述
1、分析
需求:对护照、港澳通行证、台湾居民大陆通行证进行后台规则校验;
各证件类型的规则:
护照:
14/15开头 + 7位数字;
或G + 8位数字;
或P + 7位数字;
或S/D + 7或8位数字;
港澳通行证:
H或M开头,+10位或6位数字;
台湾居民大陆通行证:
8位数字或18位数字,或数字+英文字母(总计10位)
2、代码实现
所需java工具类:java.util.regex.Matcher和java.util.regex.Pattern
class utilforcard{
/**
*
* @param regex 正则字符串
* @param str
需要比较的字符串
* @return 比较结果 true 匹配 false 不匹配
*/
private static boolean match(String regex, String str) {
Pattern pattern = Pattern.compile(regex);
Matcher matcher = pattern.matcher(str);
return matcher.matches();
}
/**
* 证件校验
* @param cardnum 校验的证件的号码
* @param cardtype 证件类型
* @return 比较结果 true 匹配 false 不匹配
*/
public static boolean cardValidate(String cardnum,String cardtype){
String reg="";
switch (cardtype){
case "passport":
// 护照
reg="^1[45][0-9]{7}|^[P|S]\d{7}|^[S|G]\d{8}$";
break;
case "gapass":
// 港澳居民来往内地通行证
reg = "^[H|M]\d{10}|^[H|M]\d{6}$";
break;
case "twpass":
// 台湾居民来往大陆通行证
reg = "^\d{8}|^[a-zA-Z0-9]{10}|^\d{18}$";
break;
default:break;
}
return match(reg,cardnum);
}
}
3、总结
护照正则字符串:"^1[45][0-9]{7}|^[P|S]\d{7}|^[S|G]\d{8}$"
港澳居民来往内地通行证正则字符串:"^[H|M]\d{10}|^[H|M]\d{6}$"
台湾居民来往大陆通行证正则字符串:"^\d{8}|^[a-zA-Z0-9]{10}|^\d{18}$"
最后
以上就是高大往事为你收集整理的对护照等的正则判断(JAVA-工作记录)1、分析2、代码实现3、总结的全部内容,希望文章能够帮你解决对护照等的正则判断(JAVA-工作记录)1、分析2、代码实现3、总结所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复