package demo.regex; import java.util.regex.Pattern; /* 正则表达式:匹配 */ public class RegexMatchesDemo { //匹配手机号码 //13XXXXX;15XXXXXX;18XXXXXX public static void checkPhone(String string) { System.out.println(Pattern.matches("1[358]\\d{9}", string)); } //匹配邮箱 /* (0)只能是QQ邮箱/GMail邮箱/Outlook邮箱/163邮箱之一 (1)字母开头; (3)用户名部分:只能是字母或者数字; (4)用户名部分:长度为3到18; (5)不能以点、减号或下划线结尾,不能出现连续两个或两个以上的点、减号或下划线 */ public static void checkEmail(String email) { System.out.println(Pattern.matches("[a-zA-Z]{1,}[a-zA-Z0-9]{2,17}@(qq|gmail|163){1}\\.com", email)); } ///////////////////////////////////// public static void checkPhoneTest() { checkPhone("1345654647");//false checkPhone("13456546470");//true checkPhone("1745654647b");//false checkPhone("19456546479");//false } public static void checkEmailTest() { checkEmail("[email protected]");//false checkEmail("[email protected]");//false checkEmail("[email protected]");//false checkEmail("[email protected]");//true checkEmail("[email protected]");//true } public static void main(String args[]) { // checkPhoneTest(); checkEmailTest(); } }