一、手机号码
方式一:
/**
* 手机号码86开头
*/
public static boolean isChinaMobileNumber(String number) {
Pattern p = Pattern
.compile("(\\+[8][6])?1(3[4-9]|5[7-9]|87|88|5[0-2]|47|82|83|84)[0-9]{8}");
Matcher m = p.matcher(number);
if (!m.matches()) {
return false;
}
return true;
}
方式二:
/**
* 获取有效的手机号码
* @param 手机号码
* @return
*/
public static boolean isMobileNO(String mobiles) {
/*
* 移动:134、135、136、137、138、139、150、151、157(TD)、158、159、187、188
* 联通:130、131、132、152、155、156、185、186 电信:133、153、180、189、(1349卫通)
* 总结起来就是第一位必定为1,第二位必定为3或5或8,其他位置的可以为0-9
*/
String telRegex = "[1][3578]\\d{9}";// "[1]"代表第1位为数字1,"[358]"代表第二位可以为3、5、7、8中的一个,"\\d{9}"代表后面是可以是0~9的数字,有9位。
if (TextUtils.isEmpty(mobiles))
return false;
else
return mobiles.matches(telRegex);
}
/**
* 验证手机号码
* @param 手机号码
* @return
*/
public static boolean checkMobileNumber(String mobileNumber){
boolean flag = false;
try{
Pattern regex = Pattern.compile("^(((13[0-9])|(15([0-3]|[5-9]))|(17[0-9])|(18[0,5-9]))\\d{8})|(0\\d{2}-\\d{8})|(0\\d{3}-\\d{7})$");
Matcher matcher = regex.matcher(mobileNumber);
flag = matcher.matches();
}catch(Exception e){
flag = false;
}
return flag;
}
二、邮箱
方式一:
/**
* 邮箱格式验证
*/
public static boolean isEmailAddrees(String text) {
Pattern pattern = Pattern
.compile("^[a-zA-Z0-9_.-]+@[a-zA-Z0-9-]+\\.[a-zA-Z0-9.-]+$");
Matcher matcher = pattern.matcher(text);
if (!matcher.matches()) {
return false;
}
return true;
}
方式二:
/**
* 邮箱
*
* @param str
* @return
*/
public boolean isValideInfo(String str) {
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("dffdfdf@qq.com");
return matcher.matches();
}
三、纯数字
/**
* 判断字符串是否全为数字,常用于数字验证码
*
* @param str
* @return
*/
public static boolean isNumber(String str) {
if (TextUtils.isEmpty(str)) {
return false;
}
Pattern pattern = Pattern.compile("[0-9]*");
return pattern.matcher(str).matches();
}
四、IP
/**
* IP地址
*
* @param str
* @return
*/
public boolean isValideInfo(String str) {
Pattern pattern = Pattern
.compile("\\b((?!\\d\\d\\d)\\d+|1\\d\\d|2[0-4]\\d|25[0-5])\\.((?!\\d\\d\\d)\\d+|1\\d\\d|2[0-4]\\d|25[0-5])\\.((?!\\d\\d\\d)\\d+|1\\d\\d|2[0-4]\\d|25[0-5])\\.((?!\\d\\d\\d)\\d+|1\\d\\d|2[0-4]\\d|25[0-5])\\b");
Matcher matcher = pattern.matcher("192.168.000.2"); // 以验证192.168.000.2为例
return matcher.matches();
}
五、字母数字组合
/**
* 字母数字,长度为6--16位
* @param str
* @return
*/
public boolean isValideInfo(String str){
Pattern pattern = Pattern.compile("^(?![0-9]+$)(?![a-zA-Z]+$)[0-9A-Za-z]{6,16}$");//必须同时包含字母数字
// Pattern pattern = Pattern.compile("^([0-9A-Za-z]{6-16})");//包含字母和数字
return pattern.matcher(str).matches();
}