Java 正则表达式集合

来源:互联网 发布:淘宝联盟退税申请 编辑:程序博客网 时间:2024/04/29 15:30

1.手机号码的正则达式:

现在有13、14、15、17、18打头的手机号,有的会习惯性的输入手机号前缀0、86、17951(因为有的拨打长途要加上前缀),所以应该也算是正确的号码。

另外附上现在号码的集合(当然这个也不是最新的,仅供参考):点击打开链接

public class MatchDemo {public static void main(String[] args) {// 方法一,可以修改13、14、15、17、18后面的一位数字,举例“13[578]”即前两位为“13”时,第三位只能为“5,7,8”String telMatch = "^(0|86|17951)?(13[0-9]|14[0-9]|15[0-9]|17[0-9]|18[0-9])[0-9]{8}$";// 方法二,表示以13、14、15、17、18开头的号码,后面9位为任意的数字。String telMatch1 = "^(0|86|17951)?(1[34578])[0-9]{9}$";String tel = "13345678999";System.out.println(tel.matches(telMatch1));//如果返回true,则判断是正确的手机号码,反之不然}}

2.身份证号码的正则表达式:

应该至少要符合以下两个条件:

a、15位或18位,如果是15位,必需全是数字。
b、如果是18位,最后一位可以是数字或字母Xx,其余必需是数字。

String cardMatch="^(\\d{15}$|^\\d{18}$|^\\d{17}(\\d|X|x))$";String card = "34122819941012802x";System.out.println(card.matches(cardMatch));


1 0
原创粉丝点击