Java后台在接受前端傳遞的參數時候會判斷參數的格式是否正確
如果參數格式不正確,直接返回給前端頁面一些錯誤的提示。這樣就減少了
垃圾數據進入數據庫中的操作。
前端校驗一般都用正則,后台接受數據如何校驗呢?
下面我將自己寫的一些后台的簡單的校驗數據參數的格式的方法說一下:
引入包:
import java.util.regex.Matcher; import java.util.regex.Pattern;
定義數據的格式:
private static final String EMAIL = "[_A-Za-z0-9-]+(\\.[_A-Za-z0-9-]+)*@[_A-Za-z0-9-]+(\\.[_A-Za-z0-9-]+)*(\\.[A-Za-z]{2,})";//郵箱 private static final String MOBILE_PHONE = "^((13[0-9])|(14[0-9])|(15[0-9])|17[0-9]|(18[0-9]))\\d{8}$"; // 手機號碼 private static Pattern emailPattern = Pattern.compile(EMAIL); private static Pattern mobilePhonePattern = Pattern.compile(MOBILE_PHONE); private static final String PASSWORD = "^(?![0-9]+$)(?![a-zA-Z]+$)[0-9A-Za-z]{8,16}$"; private static final String NAME = "^[A-Z]+$";
private static Pattern passwordPattern = Pattern.compile(PASSWORD); private static Pattern namePattern = Pattern.compile(NAME);
下面利用 Java給的驗證方法進行處理
Matcher matcher
//密 public static boolean isPasswordPattern(String str) {
Matcher matcher = passwordPattern.matcher(str); return matcher.matches(); } //姓名拼音縮寫 public static boolean isNamePattern(String str) { Matcher matcher = namePattern.matcher(str); if (matcher.matches()) { if (str.length() == 4) { return true; } else { return false; } } matcher = namePattern.matcher(str); return matcher.matches(); } // 郵箱的校驗 public static boolean isEmailLegal(String str) { Matcher matcher = emailPattern.matcher(str); return matcher.matches(); }
/** * 電話號碼驗證 * * @param str * @return 驗證通過返回true */ public static boolean isTelephone(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; }public static boolean check(String str, String regex) { boolean flag = false; try { Pattern pattern = Pattern.compile(regex); Matcher matcher = pattern.matcher(str); flag = matcher.matches(); } catch (Exception e) { flag = false; } return flag; }