1、创建AppUtil类(递归)
public class AppUtil {
private AppUtil() {
throw new UnsupportedOperationException("cannot be instantiated");
}
/**
* 获取应用程序名称
*/
public static String getAppName(Context context) {
try {
PackageManager packageManager = context.getPackageManager();
PackageInfo packageInfo = packageManager.getPackageInfo(
context.getPackageName(), 0);
int labelRes = packageInfo.applicationInfo.labelRes;
return context.getResources().getString(labelRes);
} catch (PackageManager.NameNotFoundException e) {
e.printStackTrace();
}
return null;
}
/**
* [获取应用程序版本名称信息]
*
* @param context
* @return 当前应用的版本名称
*/
public static String getVersionName(Context context) {
try {
PackageManager packageManager = context.getPackageManager();
PackageInfo packageInfo = packageManager.getPackageInfo(
context.getPackageName(), 0);
return packageInfo.versionName;
} catch (PackageManager.NameNotFoundException e) {
e.printStackTrace();
}
return null;
}
/**
* 判断是否为大陆手机号码
* @param str
* @return
*/
public static boolean isChinaPhoneLegal(String str) {
String regExp = "^((13[0-9])|(15[^4])|(18[0,2,3,5-9])|(17[0-8])|(147))\\d{8}$";
Pattern p = Pattern.compile(regExp);
Matcher m = p.matcher(str);
return m.matches();
}
}
2、MainActivity
final String phone = ed_tel.getText().toString().trim().replace(" ", ""); //去除分隔手机号中间的空格
if (phone.equals("")) { //为空
Toast.makeText(this, "输入为空", Toast.LENGTH_SHORT).show();
return;
} else if (!AppUtil.isChinaPhoneLegal(phone)) {//不符合手机号码格式
ed_tel.setText("");
Toast.makeText(this, "非法字符", Toast.LENGTH_SHORT).show();
return;
} else {
Toast.makeText(this, "验证通过!", Toast.LENGTH_SHORT).show();
}