发表于: 2020-09-23 22:03:26

0 1366


手机号


/**判断手机号符不符合规则
必须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 passwordHttpServletRequest 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(phonepassword);
       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(emailpassword);
       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(usernamepassword);
       logger.info("根据用户名查找用户结果为+ UserAccount);

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


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




明天计划的事情


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

图片上传   转移   

缩略图,防盗链




返回列表 返回列表
评论

    分享到