|
@@ -0,0 +1,171 @@
|
|
|
+package com.caimei365.user.utils;
|
|
|
+
|
|
|
+import com.caimei365.user.model.JsonModel;
|
|
|
+import com.github.pagehelper.util.StringUtil;
|
|
|
+import org.apache.commons.lang.StringUtils;
|
|
|
+
|
|
|
+import java.util.regex.Matcher;
|
|
|
+import java.util.regex.Pattern;
|
|
|
+
|
|
|
+/**
|
|
|
+ * Description
|
|
|
+ *
|
|
|
+ * @author : Charles
|
|
|
+ * @date : 2021/3/5
|
|
|
+ */
|
|
|
+public class ValidateUtil {
|
|
|
+ /** 手机号码验证格式 */
|
|
|
+ private static final String MOBILE_PATTERN = "^1[1-9]\\d{9}$";
|
|
|
+ /** 邮箱验证格式 */
|
|
|
+ private static final String EMAIL_PATTERN = "^\\s*?(.+)@(.+?)\\s*$";
|
|
|
+ /** 密码验证格式 */
|
|
|
+ private static final String PASSWORD_PATTERN = "^(?![0-9]+$)(?![a-zA-Z]+$)[0-9A-Za-z]{8,16}$";
|
|
|
+ /** 机构名称验证格式 */
|
|
|
+ private static final String CLUB_NAME_PATTERN = "^[a-zA-Z0-9\u4e00-\u9fa5]{1,200}$";
|
|
|
+ /** 用户名称验证格式 */
|
|
|
+ private static final String USER_CN_NAME_PATTERN = "^[\u4e00-\u9fa5]{2,8}$";
|
|
|
+ private static final String USER_EN_NAME_PATTERN = "^[a-zA-Z]{2,16}";
|
|
|
+ /** 统一社会信用代码验证格式 */
|
|
|
+ private static final String SOCIAL_CREDIT_CODE_PATTERN = "^[0-9A-HJ-NPQRTUWXY]{2}\\d{6}[0-9A-HJ-NPQRTUWXY]{10}$";
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 验证手机号码格式
|
|
|
+ *
|
|
|
+ * @param mobile 手机号
|
|
|
+ */
|
|
|
+ public static JsonModel validateMobile(String mobile) {
|
|
|
+ if (StringUtil.isEmpty(mobile) || StringUtils.isBlank(mobile)) {
|
|
|
+ return JsonModel.error("手机号不可为空");
|
|
|
+ } else {
|
|
|
+ Pattern pattern = Pattern.compile(MOBILE_PATTERN);
|
|
|
+ Matcher matcher = pattern.matcher(mobile);
|
|
|
+ if (matcher.matches()) {
|
|
|
+ return JsonModel.success();
|
|
|
+ } else {
|
|
|
+ return JsonModel.error("手机号码格式不正确");
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 验证简单的邮箱格式
|
|
|
+ *
|
|
|
+ * @param email 邮箱
|
|
|
+ */
|
|
|
+ public static boolean validateEmail(String email) {
|
|
|
+ if (StringUtil.isEmpty(email) || StringUtils.isBlank(email)) {
|
|
|
+ return false;
|
|
|
+ } else {
|
|
|
+ Pattern pattern = Pattern.compile(EMAIL_PATTERN);
|
|
|
+ Matcher matcher = pattern.matcher(email);
|
|
|
+ return matcher.matches();
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 密码验证
|
|
|
+ */
|
|
|
+ public static JsonModel validatePassWord(String password) {
|
|
|
+ if (StringUtils.isEmpty(password) || StringUtils.isBlank(password)) {
|
|
|
+ return JsonModel.error("密码不可为空");
|
|
|
+ }
|
|
|
+ if (password.length() > 16 || password.length() < 8) {
|
|
|
+ return JsonModel.error("密码长度不正确(8-16)");
|
|
|
+ }
|
|
|
+ Pattern pattern = Pattern.compile(PASSWORD_PATTERN);
|
|
|
+ Matcher matcher = pattern.matcher(password);
|
|
|
+ if (matcher.matches()) {
|
|
|
+ return JsonModel.success();
|
|
|
+ } else {
|
|
|
+ return JsonModel.error("请输入8-16位字符,需字母数字组合。");
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 确认密码验证
|
|
|
+ */
|
|
|
+ public static JsonModel validatePassWordConfirm(String password, String passWordConfirm) {
|
|
|
+ if (StringUtils.isEmpty(passWordConfirm) || StringUtils.isBlank(passWordConfirm)) {
|
|
|
+ return JsonModel.error("确认密码不可为空");
|
|
|
+ }
|
|
|
+ if (!password.equals(passWordConfirm)) {
|
|
|
+ return JsonModel.error("确认密码与登录密码不一致");
|
|
|
+ }
|
|
|
+ return JsonModel.success();
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 验证机构名称
|
|
|
+ */
|
|
|
+ public static JsonModel validateClubName(String name) {
|
|
|
+ if (StringUtils.isEmpty(name) || StringUtils.isBlank(name)) {
|
|
|
+ return JsonModel.error("请填写美容机构名称");
|
|
|
+ } else {
|
|
|
+ Pattern pattern = Pattern.compile(CLUB_NAME_PATTERN);
|
|
|
+ Matcher matcher = pattern.matcher(name);
|
|
|
+ if (matcher.matches()) {
|
|
|
+ return JsonModel.success();
|
|
|
+ } else {
|
|
|
+ return JsonModel.error("机构名称格式不正确");
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 验证姓名为中文:匹配2-8个中文字或不超过16位的英文
|
|
|
+ */
|
|
|
+ public static JsonModel validateUserName(String name) {
|
|
|
+ if (StringUtils.isEmpty(name) || StringUtils.isBlank(name) || name.length() < 2) {
|
|
|
+ return JsonModel.error("请输入真实名称");
|
|
|
+ } else {
|
|
|
+ // 判断中文名
|
|
|
+ Pattern pattern = Pattern.compile(USER_CN_NAME_PATTERN);
|
|
|
+ Matcher matcher = pattern.matcher(name);
|
|
|
+ if (matcher.find()) {
|
|
|
+ return JsonModel.success();
|
|
|
+ } else {
|
|
|
+ // 判断英文名
|
|
|
+ pattern = Pattern.compile(USER_EN_NAME_PATTERN);
|
|
|
+ matcher = pattern.matcher(name);
|
|
|
+ if (matcher.matches()) {
|
|
|
+ return JsonModel.success();
|
|
|
+ } else {
|
|
|
+ return JsonModel.error("名称格式不正确");
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 验证地址格式:长度不超过50
|
|
|
+ *
|
|
|
+ * @param address
|
|
|
+ * @return JsonForm验证信息
|
|
|
+ */
|
|
|
+ public static JsonModel validateAddress(String address) {
|
|
|
+ if (StringUtils.isEmpty(address) || StringUtils.isBlank(address)) {
|
|
|
+ return JsonModel.error("请输入您的详细街道地址");
|
|
|
+ }
|
|
|
+ if (address.length() > 50) {
|
|
|
+ return JsonModel.error("地址过长");
|
|
|
+ }
|
|
|
+ return JsonModel.success();
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 统一社会信用代码验证
|
|
|
+ */
|
|
|
+ public static JsonModel validateSocialCreditCode(String socialCreditCode) {
|
|
|
+ if (StringUtil.isEmpty(socialCreditCode) || StringUtils.isBlank(socialCreditCode)) {
|
|
|
+ return JsonModel.error("请输入您的统一社会信用代码");
|
|
|
+ } else {
|
|
|
+ Pattern pattern = Pattern.compile(SOCIAL_CREDIT_CODE_PATTERN);
|
|
|
+ Matcher matcher = pattern.matcher(socialCreditCode);
|
|
|
+ if (matcher.matches()) {
|
|
|
+ return JsonModel.success();
|
|
|
+ } else {
|
|
|
+ return JsonModel.error("统一社会信用代码格式不正确");
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+}
|