最常见的java正则表达式

这里我整理了开发中常用的正则表达式,希望可以帮助各位参考,也便于自己查阅,如果有错误的地方希望大家可以指出来,我会积极改正。

  • 身份证(15位或者18位)
		String rexp = "(^[1-9]\\d{5}(18|19|([23]\\d))\\d{2}((0[1-9])|(10|11|12))(([0-2][1-9])|10|20|30|31)\\d{3}[0-9Xx]$)|(^[1-9]\\d{5}\\d{2}((0[1-9])|(10|11|12))(([0-2][1-9])|10|20|30|31)\\d{2}[0-9Xx]$)";
        Pattern pat = Pattern.compile(rexp);
        Matcher m = pat.matcher("41112220191122123x");//测试的是18位身份证
        System.out.println(m.matches()); //true
  • 手机号
 		//不支持110、119等紧急号码
 		String rexp = "^(1[3-9])\\d{9}$";
        Pattern pat = Pattern.compile(rexp);
        Matcher m = pat.matcher("19999999999");
        System.out.println(m.matches());//true

你可能感兴趣的:(java)