package testPhoneTel;

import java.util.Scanner;
import java.util.regex.Matcher;
import java.util.regex.Pattern;

public class test {

public static void main(String[] args) {
String str="13112341234,010-12456789,01012456789,(010)12456789,00861012456789,+861012456789";

Scanner input = new Scanner(System.in);
boolean btn = true;
String num;
while (btn) {
num = input.next();
System.out.println(num + " is isMobile ? == " + isMobile(num)
+ "\n");
System.out.println(num + " is isPhone ? == " + isPhone(num) + "\n");
if (num.equals("q")) {
input.close();
break;
}

}
Pattern p=Pattern.compile("1([\\d]{10})|((\\+[0-9]{2,4})?\\(?[0-9]+\\)?-?)?[0-9]{7,8}");
Matcher m=p.matcher(str);
while(m.find()){
System.out.println(m.group());
System.out.println(m.group() + " is isMobile ? == " + isMobile(m+"")+ "\n");
System.out.println(m.group() + " is isPhone ? == " + isPhone(m+"") + "\n");
}

}

/**
* 手机号验证
*
* @param str
* @return 验证通过返回true
*/
public static boolean isMobile(String str) {
Pattern p = null;
Matcher m = null;
boolean b = false;
p = Pattern.compile("^[1][3,4,5,8][0-9]{9}$"); // 验证手机号
m = p.matcher(str);
b = m.matches();
return b;
}

/**
* 电话号码验证
*
* @param str
* @return 验证通过返回true
*/
public static boolean isPhone(String str) {
Pattern p1 = null, p2 = null;
Matcher m = null;
boolean b = false;
p1 = Pattern.compile("^[0][1-9]{2,3}-[0-9]{5,10}$"); // 验证带区号的
p2 = Pattern.compile("^[1-9]{1}[0-9]{5,8}$"); // 验证没有区号的
if (str.length() > 9) {
m = p1.matcher(str);
b = m.matches();
} else {
m = p2.matcher(str);
b = m.matches();
}
return b;
}

/**
* 验证邮箱地址是否正确
*
* @param email
* @return
*/
public static boolean checkEmail(String email) {
boolean flag = false;
try {
String check = "^([a-z0-9A-Z]+[-|\\.]?)+[a-z0-9A-Z]@([a-z0-9A-Z]+(-[a-z0-9A-Z]+)?\\.)+[a-zA-Z]{2,}$";
Pattern regex = Pattern.compile(check);
Matcher matcher = regex.matcher(email);
flag = matcher.matches();
} catch (Exception e) {
flag = false;
}

return flag;
}



}