4、校验工具
2019獨角獸企業重金招聘Python工程師標準>>>
import java.util.ArrayList; import java.util.List;import org.springframework.util.Assert;/*** 校驗工具類**/ public abstract class ValidateUtil {/** 用戶名正則 */private static final String REG_USERNAME = "^[a-zA-Z]\\w{3,31}";/** Email 正則 */private static final String REG_EMAIL = "\\w+([-+.]\\w+)*@\\w+([-.]\\w+)*\\.\\w+([-.]\\w+)*";/*** 驗證必填項,如果不通過,返回List【錯誤描述信息】* * @param dataObj 校驗對象* @param propNames 校驗屬性【數組】* @param displayNames 屬性對應的【中文名稱】* @return errorList 錯誤集合,每條數據表示一個屬性的錯誤描述信息*/public static List<String> validateMust(Object dataObj, String[] propNames,String[] displayNames) {Assert.isTrue(propNames.length == displayNames.length, "參數名與顯示名的個數不一致");List<String> errorList = new ArrayList<String>();for (int i = 0; i < propNames.length; i++) {String propName = propNames[i];String displayName = displayNames[i];Object value = ReflectUtil.getProperty(dataObj, propName);if (null == value) {errorList.add(displayName + "(" + propName + ")是必填項");} else {if (value instanceof String) {// 處理全角空格String valueStr = value.toString().replace(" ", "").trim();if (valueStr.length() == 0) {errorList.add(displayName + "(" + propName + ")是必填項");}}}}return errorList;}/*** * 校驗郵箱* * @param email* @return boolean*/public static boolean validateEmail(String email) {if (null == email || email.trim().length() == 0) {return false;}return email.matches(REG_EMAIL);}/*** * 校驗用戶名* * @param* @return boolean*/public static boolean validateUserName(String userName) {return validateByRegex(userName, REG_USERNAME);}/*** 按指定正則表達式驗證* @param input 輸入字符* @param regex 正則* @return 成立與否*/private static boolean validateByRegex(String input, String regex) {if (null == input || input.trim().length() == 0) {return false;}return input.matches(regex);}}?
轉載于:https://my.oschina.net/u/3551274/blog/1796790
總結
- 上一篇: java1.8--改进的接口
- 下一篇: 200多个电脑修复工具问你要不要?