通过正则表达式来判断用户输入的电话号码格式是否有误:
MainDemo.java
- import java.util.Scanner;
- import java.util.regex.Matcher;
- import java.util.regex.Pattern;
-
-
-
-
-
-
-
- public class MainDemo {
- public static void main(String[] args) {
- System.out.println("请输入您的电话号码:");
- Scanner scanner = new Scanner(System.in);
- String mobile_number = scanner.nextLine();
-
- boolean boo = isMobileNO(mobile_number);
- if (boo) {
- System.out.println("电话号码正确!-->" + mobile_number);
- } else {
- System.out.println("电话号码错误!***>" + mobile_number);
- }
- }
-
-
- public static boolean isMobileNO(String mobiles) {
- boolean flag = false;
- try {
-
-
- Pattern p = Pattern.compile("^((13[0-9])|(15[^4,\\D])|(18[0,5-9]))\\d{8}$");
-
- Matcher m = p.matcher(mobiles);
- flag = m.matches();
-
- } catch (Exception e) {
- flag = false;
- }
-
- return flag;
- }
-
- }
注:输入13、15、18开头的电话号码就为正确,11位电话号码。