2015/9/15日
膜拜大神亮之通过正则表达式来判断是否为指定字符串。
- 判断电话号码
- 验证邮箱
- 验证数字
- 验证姓名
package com.zsz.develop.lightverify;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
import android.text.TextUtils;
/**
* @author LigthWang
*
* 描述:验证的处理封装
*/
public class YanZhengUtil {
// 验证电话号码
public static boolean isPhoneNumber(String phoneNumber) {
if (TextUtils.isEmpty(phoneNumber)) {
return false;
}
String expression = "^1[0-9]{10}$";
Pattern pattern = Pattern.compile(expression);
Matcher matcher = pattern.matcher(phoneNumber);
if (matcher.matches()) {
return true;
} else {
return false;
}
}
// 验证邮箱
public static boolean isEmail(String email) {
if (TextUtils.isEmpty(email)) {
return false;
}
final String expression = "[\\w!#$%&'*+/=?^_`{|}~-]+(?:\\.[\\w!#$%&'*+/=?^_`{|}~-]+)*@(?:[\\w](?:[\\w-]*[\\w])?\\.)+[\\w](?:[\\w-]*[\\w])?";
Pattern pattern = Pattern.compile(expression);
Matcher matcher = pattern.matcher(email);
if (matcher.matches()) {
return true;
} else {
return false;
}
}
// 验证数字
public static boolean isNumeric(String str) {
if (TextUtils.isEmpty(str)) {
return false;
}
Pattern pattern = Pattern.compile("^[0-9]*$");
Matcher isNum = pattern.matcher(str);
if (isNum.matches()) {
return true;
} else {
return false;
}
}
/**
* 验证姓名<br/>
* 中文2-20个字符<br/>
* 英文2-20个字符<br/>
* 中英文不能混用
*
* @param name
* 姓名字符串
* @return
*/
public static boolean validateName(String name) {
if (TextUtils.isEmpty(name)) {
return false;
}
// 2-4中文
Pattern pattern1 = Pattern.compile("^[\u4E00-\u9FA5]{2,20}$");
Matcher matcher1 = pattern1.matcher(name);
// 2-12英文
Pattern pattern2 = Pattern.compile("^[a-zA-Z]{2,20}$");
Matcher matcher2 = pattern2.matcher(name);
if (matcher1.matches() || matcher2.matches()) {
return true;
} else {
return false;
}
}
}