package validation;
import java.util.Scanner;
/*
* 1.格式验证:
用户注册验证(用户名,密码,昵称,中文名字,手机号,邮箱)
所有信息符合以下条件才允许注册:
*/
public class validation {
//用户名格式:由字母数字下划线组成且开头必须是字母,不能超过16位;
public boolean validateUser(String user){
if(user==null || user.length()<0 || user.length()>16)
return false;
if(user.charAt(0)>='a'&&user.charAt(0)<='z')
return true;
for(int index =1; index < user.length(); index++){
char temp = user.charAt(index);
if(!((temp>='a'&& temp<='z' )||(temp>='A' && temp<='Z')||(temp=='_')||(temp>='0'&&temp<='9')))
return false;
}
return true;
}
//密码格式:字母和数字构成,不能超过16位;
public boolean validatePwd(String userPwd){
if(userPwd==null || userPwd.length()<0 || userPwd.length()>16)
return false;
for(int index =0; index < userPwd.length(); index++){
char temp = userPwd.charAt(index);
if(!((temp>='a'&& temp<='z' )||(temp>='A' && temp<='Z')||(temp>='0'&&temp<='9')))
return false;
}
return true;
}
//昵称:字母和数字构成长度大于6小于10;
public boolean validatePetName(String petName){
if(petName==null || petName.length()<6 || petName.length()>10)
return false;
for(int index =0; index < petName.length(); index++){
char temp = petName.charAt(index);
if(!((temp>='a'&& temp<='z' )||(temp>='A' && temp<='Z')||(temp>='0'&&temp<='9')))
return false;
}
return true;
}
//手机号:全数字,长度为11位;
public boolean validatePhoneNum(String phoneNum){
if(phoneNum==null || phoneNum.length()>11)
return false;
for(int index =0; index < phoneNum.length(); index++){
char temp = phoneNum.charAt(index);
if(!(temp>='0'&&temp<='9'))
return false;
}
return true;
}
//邮箱:必须包含@符号;必须包含点;点和@之间必须有字符;
public boolean validateEmail(String email){
if(email==null)
return false;
int emailFlag = email.indexOf('@');
int pointFlag = email.lastIndexOf('.');
if(emailFlag ==-1 || pointFlag ==-1 || email.length()<7)
return false;
String subName = email.substring(pointFlag, email.length());
if(!subName.equals(".com"))
return false;
if(pointFlag - emailFlag > 1)
return true;
return false;
}
public static void main(String[] args) {
validation vd = new validation();
boolean regFlag = true;
Scanner sc = new Scanner(System.in);
System.out.println("用户注册验证(用户名,密码,昵称,中文名字,手机号,邮箱)所有信息符合以下条件才允许注册:");
System.out.println("请输入用户名(由字母数字下划线组成且开头必须是字母,不能超过16位)");
System.out.println("用户名:");
String userName = sc.next();
System.out.println("请输入密码(字母和数字构成,不能超过16位)");
System.out.println("密码:");
String userPwd = sc.next();
System.out.println("请输入昵称(字母和数字构成长度大于6小于10)");
System.out.println("昵称:");
String petName = sc.next();
System.out.println("请输入手机号(全数字,长度为11位)");
System.out.println("手机号:");
String phoneNum = sc.next();
System.out.println("请输入邮箱(必须包含@符号;必须包含点;点和@之间必须有字符)");
System.out.println("邮箱:");
String email = sc.next();
if(!vd.validateUser(userName)){
System.out.println("用户名不合法");
regFlag = false;
}
if(!vd.validatePwd(userPwd)){
System.out.println("密码不合法");
regFlag = false;
}else{
//密码加密
//将注册用户的原始密码:在第3个字符后插入"pwd",然后追加字符串"123",再将整个字符串倒序
StringBuffer newPwd = new StringBuffer(userPwd);
newPwd.insert(3, "pwd").append("123").reverse();;
userPwd = newPwd.toString();
}
if(!vd.validatePetName(petName)){
System.out.println("昵称不合法");
regFlag = false;
}
if(!vd.validatePhoneNum(phoneNum)){
System.out.println("手机号不合法");
regFlag = false;
}
if(!vd.validateEmail(email)){
System.out.println("邮箱不合法");
regFlag = false;
}
if(regFlag){
System.out.println("你的信息为:");
System.out.println("用户名:"+userName);
System.out.println("密码:"+userPwd);
System.out.println("昵称:"+petName);
System.out.println("手机号:"+phoneNum);
System.out.println("邮箱:"+email);
System.out.println(" 所有信息符合条件,注册成功!");
}
}
}