zl程序教程

您现在的位置是:首页 >  Java

当前栏目

JSP用户注册的正则表达式

2023-03-14 10:26:23 时间
        /*
	private String username;  用户名不能为空,并且要是3-8的字符 abcdABcd
	private String password;  密码不能为空,并且要是3-8的数字
	private String password2; 两次密码要一致
	private String email;     可以为空,不为空要是一个合法的邮箱
	private String birthday;  可以为空,不为空时,要是一个合法的日期
	 * 
	 */
	public boolean validate(){
		
		boolean isOk = true;
		
		if(this.username==null || this.username.trim().equals("") ){
			isOk = false;
			errors.put("username", "用户名不能为空!!");
		}else{
			if(!this.username.matches("[a-zA-Z]{3,8}")){
				isOk = false;
				errors.put("username", "用户名必须是3-8位的字母!!");
			}
		}		
		
		if(this.password==null || this.password.trim().equals("")){
			isOk = false;
			errors.put("password", "密码不能为空!!");
		}else{
			if(!this.password.matches("\\d{3,8}")){
				isOk = false;
				errors.put("password", "密码必须是3-8位的数字!!");
			}
		}
		
		//private String password2; 两次密码要一致
		if(this.password2!=null){
			if(!this.password2.equals(this.password)){
				isOk = false;
				errors.put("password2", "两次密码不一致!!");
			}
		}
		
		//private String email;     可以为空,不为空要是一个合法的邮箱
		if(this.email!=null){
		//下面是邮箱正则表达式
			if(!this.email.matches("^([a-z0-9A-Z]+[-|\\.]?)+[a-z0-9A-Z]@([a-z0-9A-Z]+(-[a-z0-9A-Z]+)?\\.)+[a-zA-Z]{2,}$")){
				isOk = false;
				errors.put("email", "邮箱不是一个合法邮箱!!");
			}
		}
		//手机号码正则表达式为  ^((13[0-9])|(15[^4,\\D])|(18[0,5-9]))\\d{8}$
		
		//private String birthday;  可以为空,不为空时,要是一个合法的日期
		if(this.birthday!=null){
			try{
				DateLocaleConverter conver = new DateLocaleConverter();
				conver.convert(this.birthday);
			}catch (Exception e) {
				isOk = false;
				errors.put("birthday", "生日必须要是一个日期!!");
			}
		}
		
		return isOk;
	}