正则表达式
正则表达式初体验:
1 public class regex_demo { 2 public static void main(String[] args) { 3 4 System.out.println(check("12439547sf")); 5 System.out.println(check("4829615895")); 6 7 System.out.println("-------------------------------"); 8 9 System.out.println(check1("138fg63t6d")); 10 System.out.println(check1("373647382")); 11 } 12 13 /** 14 * 正则表达式 15 * @param qq 16 * @return 17 */ 18 public static boolean check1(String qq) { 19 // \d 代表全部是数字, 这里写两个 \\ 的意思是:第一个告诉第二个你只是一个 \ 20 return qq != null && qq.matches("\\d{6,20}"); 21 } 22 23 /** 24 * 普通方法 25 * @param qq 26 * @return 27 */ 28 public static boolean check(String qq) { 29 // 1.判断qq号码长度是否满足, 6~20 30 if (qq == null || qq.length() < 6 || qq.length() >20) { 31 return false; 32 } 33 34 //判断qq是否全为数字 35 for (int i = 0; i < qq.length(); i++) { 36 //获取每一个字符 37 char c = qq.charAt(i); 38 // 判断是否是数字, 字母也有大小 39 if (c < '0' || c > '9') { 40 return false; 41 } 42 } 43 return true; 44 } 45 }
matches()
判断是否匹配正则表达式,匹配返回true, 不匹配返回false。
1 public class regex_demo2 { 2 public static void main(String[] args) { 3 4 // 校验密码, 必须是数字、字母 至少6位 5 System.out.println("237yfg3".matches("\\w{6,}")); 6 System.out.println("23g3".matches("\\w{6,}")); 7 8 //验证码 必须是数字和字母,必须6位 9 System.out.println("24wf".matches("[a-zA-Z0-9]{4}")); 10 System.out.println("12_d".matches("[\\w&&[^_]]{4}")); 11 System.out.println("drr3554".matches("[a-zA-Z0-9]{4}")); 12 } 13 }
校验手机号
public class regex_demo3 { public static void main(String[] args) { // 校验手机号码 checkPhone(); } public static void checkPhone() { Scanner sc = new Scanner(System.in); while (true) { System.out.println("请输入你的手机号:"); String phone = sc.next(); //判断是否正确 if(phone.matches("1[3-9]\\d{9}")) { System.out.println("输入正确!"); break; }else { System.out.println("输入有误!"); } } } }
校验邮箱
1 public class regex_demo4 { 2 public static void main(String[] args) { 3 //校验邮箱 4 checkEmail(); 5 } 6 public static void checkEmail() { 7 Scanner sc = new Scanner(System.in); 8 while (true) { 9 System.out.println("请输入你的邮箱:"); 10 String email = sc.next(); 11 //判断是否正确 12 if(email.matches("\\w{5,30}@[a-zA-Z]{2,20}(\\.[a-zA-Z]{2,10}){1,2}")) { 13 System.out.println("输入正确!"); 14 break; 15 16 }else { 17 System.out.println("输入有误!"); 18 } 19 } 20 } 21 }