
유효성 검사란?
입력한 값에 대한 [유효성 검사]를 한 후에 year 변수 대입
입력한 값을 제대로 받았는지 확인하는 것을 유효성 검사라고 한다.
String.matches()
String.matches() 메서드 3요소
1. 기능 : 주어진 매개변수인 정규표현식(regex)에 일치하는 체크 하는 메서드
2. 매개변수 String regex 정규표현식
3. 리턴값 (리턴자료형) boolean true / false
Regular Expression 의 줄임말 == regex
정규표현식
정규표현식 : 텍스트에서 우리가 원한느 특정 패턴을 찾을때 사용함, 또는 유효성 검사를 할때 사용함
정규표현식 검색하는 방법
java lang-> String -> matches 검색 -->Regular Expression 클릭
String regex = "[0-9]+"; //정규표현식 [0-9]숫자 + 의미(반복횟수(1번이상 ~~))
(음수도 안되고 숫자가 아닌 다른 값 입력도 안됨.)
String regex = "\\d" 숫자 0부터 9까지 [0-9]랑같은의미
String regex = "\\d{n}" n개의 숫자가 들어와야한다.
String regex ="[1-9]?\\d|100" 0~ 100까지 숫자란 의미
[ ]?는 [ ]안의 숫자가 입력되어도 되고 안되도 된다는 의미이다.
**중요
(?=.* ) -->적어도 1개이상 포함하라는 소리이다.
String password = "^(?=.*[a-zA-Z])(?=.*[0-9])(?=.*[!@#%^&*])[a-zA-Z0-9!@#%^&*][^$]{5,15}$";
유효성 검사 구현 코드
do ~ while 문을 활용한다.
while문이 참일때 do문을 계속 실행시키는 원리를 이용하여
잘못된 입력을 했을때
matches()에 부정연산자 !를 사용해서 while문안을 true로 만들어준다.
헷깔릴수 있으니 잘 생각해보자.
잘못된 입력 -> 부정->while문 참으로 인해 do문 실행 ->잘못된입력 ->부정->while문 참으로 인해 do문 실행
이런식의 알고리즘이다.
원리를 잘 생각해보자.