java使用正則表達式進行表單驗證工具類,可以驗證郵箱、手機號碼、qq號碼等
import java.util.regex.Matcher;
import java.util.regex.Pattern;
/**
* 使用正則表達式進行表單驗證
*
*/
public class RegexValidateUtil {
static boolean flag = false;
static String regex = "";
public static boolean check(String str, String regex) {
try {
Pattern pattern = Pattern.compile(regex);
Matcher matcher = pattern.matcher(str);
flag = matcher.matches();
} catch (Exception e) {
flag = false;
}
return flag;
}
/**
* 驗證非空
*
* @param email
* @return
*/
public static boolean checkNotEmputy(String notEmputy) {
regex = "^//s*$";
return check(notEmputy, regex) ? false : true;
}
/**
* 驗證郵箱
*
* @param email
* @return
*/
public static boolean checkEmail(String email) {
String regex = "^//w+[-+.]//w+)*@//w+([-.]//w+)*//.//w+([-.]//w+)*$ ";
return check(email, regex);
}
/**
* 驗證手機號碼
*
* 移動號碼段:139、138、137、136、135、134、150、151、152、157、158、159、182、183、187、188、147
* 聯通號碼段:130、131、132、136、185、186、145
* 電信號碼段:133、153、180、189
*
* @param cellphone
* @return
*/
public static boolean checkCellphone(String cellphone) {
String regex = "^((13[0-9])|(14[5|7])|(15([0-3]|[5-9]))|(18[0,5-9]))//d{8}$";
return check(cellphone, regex);
}
/**
* 驗證固話號碼
*
* @param telephone
* @return
*/
public static boolean checkTelephone(String telephone) {
String regex = "^(0//d{2}-//d{8}(-//d{1,4})?)|(0//d{3}-//d{7,8}(-//d{1,4})?)$";
return check(telephone, regex);
}
/**
* 驗證傳真號碼
*
* @param fax
* @return
*/
public static boolean checkFax(String fax) {
String regex = "^(0//d{2}-//d{8}(-//d{1,4})?)|(0//d{3}-//d{7,8}(-//d{1,4})?)$";
return check(fax, regex);
}
/**
* 驗證QQ號碼
*
* @param QQ
* @return
*/
public static boolean checkQQ(String QQ) {
String regex = "^[1-9][0-9]{4,} $";
return check(QQ, regex);
}
}
新聞熱點
疑難解答