发表于: 2020-09-23 22:03:26
0 1365
手机号
/**判断手机号符不符合规则
* 必须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";
}
}
}
自测三个注册 登录都没有问题
明天计划的事情:
发送验证码的数量限制 还没写
图片上传 转移
缩略图,防盗链
评论