发表于: 2020-06-05 23:17:11

1 1526


今天完成的事情:


昨天的注册代码里添加了   手机号  和    邮箱的  正则校验

手机号


/**判断手机号符不符合规则
* 必须1开头
* 中间位0-9的数字
* 1后面只能包含输入10个数字
*/

String PhoneRule = "^1[0-9]{10}$";
boolean tf = phone.matches(phone);
System.out.println(tf);

if (tf == true) {
   logger.info("手机号符合规则,可以注册");
} else {
   String error = "手机号不符合规则,请重新输入!";
   logger.info("手机号不符合规范,请重新输入!");
   request.setAttribute("PhoneError", error);
   return "phoneRegister";
}


邮箱

/**判断邮箱是否符合规则

1.必须包含@
2.允许开头及结尾有空白

@前: 3.第一个非空白字符(有效字符),只能是字母、数字、下划线
4.@前的部分不能出现连续的..,但是允许.-或者-.
5.从第二个字符开始,除了字母、数字、下划线,还支持中划线-和英文句号.

@后: 6.@后面第一个字符是字母、数字
7.最后一个.后面只能接字母
8.邮箱以.+ 至少一个字母结尾
9.@后面,从第二个字符开始允许.或者-,但是不允许..,.-,-.的出现..-需要和字母数字下划线间隔出现

*/

String EmailRule = "^\\s*\\w+(?:\\.{0,1}[\\w-]+)*@[a-zA-Z0-9]+(?:[-.][a-zA-Z0-9]+)*\\.[a-zA-Z]+\\s*$";
boolean tf = email.matches(EmailRule);
logger.info("邮箱的校验规则结果为" + tf);

if (tf == true) {
   logger.info("邮箱符合规则,可以注册");
} else {
   String error = "邮箱符合规则,请重新输入!";
   logger.info("邮箱不符合规范,请重新输入!");
   request.setAttribute("EmailError", error);
   return "emailRegister";
}





写了登录的代码 


根据账户是否正则表达式

来判断登录方式(手机 邮箱 用户名)


@RequestMapping(value = "/login", method = RequestMethod.POST)
public String login(@RequestParam("accountName") String accountName, @RequestParam("password") String password, HttpServletRequest request) {

   logger.info("传入的参数账户为:"+accountName+",密码为:"+password);


   if (accountName == null && accountName == "") {
       String error = "账户名为空,请重新输入!";
       logger.info("密码为空");
       request.setAttribute("error", error);
       return "loginPage";
   }
   logger.info("账户不为空,执行下一步");
   if (password == null && password == "") {
       logger.info("密码不为空");
       String error = "密码为空,请重新输入!";
       logger.info("密码为空");
       request.setAttribute("error", error);
       return "loginPage";
   }
   logger.info("密码不为空,执行下一步");


   String phoneRule = "^1[0-9]{10}$";
   String EmailRule = "^\\s*\\w+(?:\\.{0,1}[\\w-]+)*@[a-zA-Z0-9]+(?:[-.][a-zA-Z0-9]+)*\\.[a-zA-Z]+\\s*$";

   boolean phoneTF = accountName.matches(phoneRule);
   logger.info("账户是否为手机号:" + phoneTF);
   boolean emailTF = accountName.matches(EmailRule);
   logger.info("账户是否为邮箱地址:" + emailTF);

   // 手机号符合,采取手机号登录方式
   if (phoneTF == true) {

       String phone = accountName;
       logger.info("现在开始登录,手机号为" + phone + "密码为:" + password);
       MyAccount PhoneAccount = my.selectAccountByPhonePass(phone, password);
       logger.info("根据手机查找用户的结果为:" + PhoneAccount);

       if (PhoneAccount != null) {
           logger.info("登录成功");
           return "homePage";
       } else {
           String error = "登录失败,手机号与密码不符!";
           logger.info("登录失败,账户与密码不符!");
           request.setAttribute("error", error);
           return "loginPage";
       }

   } else if (emailTF == true) {

       String email = accountName;
       logger.info("现在开始登录,邮箱为" + email + "密码为:" + password);

       MyAccount EmailAccount = my.selectAccountByEmailPass(email, password);
       logger.info("根据邮箱查找用户的结果为:" + EmailAccount);

       if (EmailAccount != null) {
           logger.info("登录成功");
           return "homePage";
       } else {
           String error = "登录失败,邮箱号与密码不符!";
           logger.info("登录失败,账户与密码不符!");
           request.setAttribute("error", error);
           return "loginPage";
       }
   } else {
       String username = accountName;
       logger.info("现在开始登录,用户名为" + username + "密码为:" + password);

       MyAccount UserAccount = my.selectAccountByNamePass(username, password);
       logger.info("根据用户名查找用户结果为" + UserAccount);

       if (UserAccount != null) {
           logger.info("登录成功");
           return "homePage";
       } else {
           String error = "登录失败,用户名与密码不符!";
           logger.info("登录失败,账户与密码不符!");
           request.setAttribute("error", error);
           return "loginPage";
       }
   }
}


自测三个注册  登录都没有问题




明天计划的事情


发送验证码的数量限制   还没写 

图片上传   转移   

缩略图,防盗链




返回列表 返回列表
评论

    分享到