유효성 검사란?

 

입력한 값에 대한 [유효성 검사]를 한 후에 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문 실행 

 

이런식의 알고리즘이다.

원리를 잘 생각해보자.

복사했습니다!