Android正则表达式(shou手机与身份证)

来源:互联网 发布:淘宝试客联盟 编辑:程序博客网 时间:2024/04/29 01:23
Android正则表达式(手机与身份证)
手机好号正则表达式:

<span style="font-size:18px;">/** * 验证手机格式 */public static boolean isMobileNO(String mobiles) {/* * 移动:134、135、136、137、138、139、150、151、157(TD)、158、159、187、188 * 联通:130、131、132、152、155、156、185、186 电信:133、153、180、189、(1349卫通) * 总结起来就是第一位必定为1,第二位必定为3或5或8,其他位置的可以为0-9 */String telRegex = "[1][358]\\d{9}";// "[1]"代表第1位为数字1,"[358]"代表第二位可以为3、5、8中的一个,"\\d{9}"代表后面是可以是0~9的数字,有9位。if (TextUtils.isEmpty(mobiles))return false;elsereturn mobiles.matches(telRegex);}</span>



身份证的正则表达式:



<span style="font-size:18px;">public class ShenFenUtils {public static boolean isShenFen(String phone){Pattern idNumPattern = Pattern.compile("(\\d{14}[0-9a-zA-Z])|(\\d{17}[0-9a-zA-Z])");  //通过Pattern获得Matcher  Matcher idNumMatcher = idNumPattern.matcher(phone);  //判断用户输入是否为身份证号  if(idNumMatcher.matches()){  System.out.println("您的出生年月日是:");  //如果是,定义正则表达式提取出身份证中的出生日期  Pattern birthDatePattern= Pattern.compile("\\d{6}(\\d{4})(\\d{2})(\\d{2}).*");//身份证上的前6位以及出生年月日  //通过Pattern获得Matcher  Matcher birthDateMather= birthDatePattern.matcher(phone);  //通过Matcher获得用户的出生年月日  if(birthDateMather.find()){  String year = birthDateMather.group(1);  String month = birthDateMather.group(2);  String date = birthDateMather.group(3);  }   return true;}else{return false;}}}</span>


0 0
原创粉丝点击