아이디는 간단히 length() 로 문자열 길이를 입력받을 수 있지만 배운것을 활용해야 하기 때문에 pattern 을 만들어볼게요. 🙌
"^[A-Za-z0-9]{6,13}$" // 아이디 특수문자나 한글 X
"^(?=.*[a-zA-Z])(?=.*\\d)(?=.*\\W).{8,15}$"; //8~15자 특수문자 포함
"^[가-힣]*$"; //한글이름
"^[A-Z0-9a-z]+@[A-Za-z0-9.-]+\\.[A-Za-z]{2,6}$"; //이메일
해당 패턴을 만들어둔 회원가입 기능에 추가해보도록 합시다.
if (!Pattern.matches("^[a-zA-Z0-9_]{6,13}$", id)) {
System.out.println("아이디 형식이 잘못되었습니다.");
Customer.main(null);
}
각 입력받는 문단 다음줄에 이렇게 패턴을 매치하게 만들고 매치하지 않을땐 메인으로 돌아가게 기능을 바꿔주었어요.😊
SimpleDateFormat 클래스를 활용해 간단하게 입력받을 수 있어요😉
SimpleDateFormat sdf = new SimpleDateFormat("yyyy.MM.dd HH:mm:ss"
//년,월,일, 시간~초로 출력하는 객체 생성
이렇게 미리 클래스 객체를 생성해줍니다.
현재 시간을 출력할때는
Date now = new Date(); //date 클래스 객체 생성
String date = sdf.format(now); //date 변수에 시간 저장
이렇게 초기화할 변수에 대입할 수 있어요
그렇게
저장할객체배열[순서].setDate(date);
세터로 초기화해주면 끝!
이렇게 모든 정보를 조건에 맞게 입력하면 정상적으로 가입이 완료됩니다.
가입시간도 알맞게 입력된걸 알 수 있죠?? 😗
이렇게 조건에 맞지 않게 입력하면 메인으로 돌아가는 모습을 볼 수 있습니다 😅
정규표현식을 활용해서 패턴을 짤때 가장 필요한건 내가 원하는걸 정확하게 정규표현식으로 적어낼 수 있느냐가 가장 중요한것 같습니다.
패턴 자체를 달달 외우는 방법도 있지만 , 단순히 머릿속으로 이해를 하는 방법이 이 챕터에선 가장 좋은 방법일거 같아요 😉
저도 마찬가지로 이해를 하려고 노력했지만 많이 힘들어서 패턴 자체는 다른 글들 참고해서 긁어오긴 했답니다 ㅠ.ㅠ.
배운것을 활용해서 간단하게 정리/ 기존에 만들어 둔 것들에 활용 해보았어요.
감사합니다 😁