package com.ntp.model;
import java.util.Arrays;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
/**
* 用户
* @author yanxing
*/
public class User {
private String username;
private String email;
private String sex;
private byte[] head;// 头像
public User() {
}
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
public String getEmail() {
return email;
}
public void setEmail(String email) {
this.email = email;
}
public String getSex() {
return sex;
}
public void setSex(String sex) {
this.sex = sex;
}
public byte[] getHead() {
return head;
}
public void setHead(byte[] head) {
this.head = head;
}
/**
* @param username 用户名
* @param head 头像,没有可为空
* @param sex 性别
* @param email 邮箱
*/
public User(String username, byte[] head, String sex, String email) {
this.username = username;
this.head = head;
this.sex = sex;
this.email = email;
}
/**
* 判断邮箱是否合法
*
* @param email 邮箱
* @return 邮箱格式输入正确返回true,错误返回false
*/
public static Boolean isEmail(String email) {
// 匹配邮箱的正则表达时,在java需要进行转义^(\w)+(\.\w+)*@(\w)+((\.\w+)+)$
// ^ :匹配输入的开始位置
// \:将下一个字符标记为特殊字符或字面值
// * :匹配前一个字符零次或几次
// + :匹配前一个字符一次或多次
// (pattern) 与模式匹配并记住匹配
// \w :与任何单词字符匹配,包括下划线
// {n,m} 最少匹配 n 次且最多匹配 m 次
// [a-z] :表示某个范围内的字符。与指定区间内的任何字符匹配
// ?:匹配前面的子表达式零次或一次
// $ :匹配输入的结尾
String regex = "^(\\w)+(\\.\\w+)*@(\\w)+((\\.\\w+)+)$";
Pattern pattern = Pattern.compile(regex);
Matcher matcher = pattern.matcher(email);
return matcher.matches();
}
@Override
public String toString() {
return "User{" +
", username='" + username + '\'' +
", head=" + Arrays.toString(head) +
'}';
}
}