안녕하세요. 제임스 입니다. 


이번에는 정규표현식을 이용하여 암호 설정을 위한 표현식을 만들어 보겠습니다. 


■ 정규표현식으로 암호 패턴 만들기


암호 규칙을 아래와 같이 순차적으로 만들어 보겠습니다. 



▶ 숫자 최소 1자 포함

▶ 영문대문자 최소 1자 이상 포함

▶ 영문소문자 최소 1자 이상 포함

▶ 최소 8자 ~ 최대 20자 허용



위 조건을 만족하는 암호 체크 표현식을 만들어 보겠습니다. 



1
String regExp = "^(?=.*[0-9])(?=.*[a-z])(?=.*[A-Z]).{8,20}$";
cs


위와 같이 표현식을 하나 작성했습니다. 


(?=.*[0-9])

0 ~ 9 까지 숫자 최소 한개를 의미


(?=.*[a-z])

영문소문자 a ~ z 까지의 문자 최소 한개


(?=.*[A-Z])

영문대문자 A ~ Z 까지의 문자 최소 한개


.{8, 20}

선행 세가지 표현식 (숫자, 영문소문자, 영문대문자)에 맞는 8 ~ 20 자리 문자열




우선 위 표현식이 정상 동작하는지 여부 테스트 해봐야 겠죠? 


1
2
String input1 = "abc123";
System.out.println("input1 정규표현식 적용 결과 ==> "+input1.matches(regExp));
cs


우선 길이가 6인 문자열을 테스트 해봤습니다. 

영문소문자와 숫자는 들어가 있지만 대문자가 빠져 있으니 테스트 결과는 예상 가능합니다. 


Result

input1 정규표현식 적용 결과 ==> false




1
2
String input2 = "abcd1234";
System.out.println("input2 정규표현식 적용 결과 ==> "+input2.matches(regExp));
cs


테스트 문자열의 길이는 8자리로 최소한의 길이 조건은 맞지만...

영문대문자가 없습니다. 결과는 아래와 같습니다. 


Result

input2 정규표현식 적용 결과 ==> false




1
2
String input3 = "abcd1234B";
System.out.println("input3 정규표현식 적용 결과 ==> "+input3.matches(regExp));
cs


테스트 문자열의 길이는 9로 조건 만족,

영문 대소문자 모두 포함하고 있으며 숫자도 포함하고 있습니다. 

모든 조건을 만족합니다. 결과는 아래와 같습니다.


Result

input3 정규표현식 적용 결과 ==> true




이제 몇 가지 조건을 더 추가해 보겠습니다. 


▶ 특수문자 필수 입력

▶ 공백문자 허용안함


위와 같은 추가 조건을 더 입력해 보겠습니다. 


1
String regExp = "^(?=.*[0-9])(?=.*[a-z])(?=.*[A-Z])(?=.*\\W)(?=\\S+$).{8,20}$";
cs


기존 표현식에 


(?=.*\\W) 

특수문자 최소 한개 입력


(?=\\S+$)

공백문자는 허용하지 않고, 공백문자가 허용되지 않는 형태를 1회 이상 일치 시킴 (즉, 공백문자는 처음부터 끝까지 허용하지 않음)


위와 같이 두가지 표현식 그룹을 추가 했습니다. 


잘 동작하는 지 테스트 해보겠습니다. 




1
2
String input1 = "abc123";
System.out.println("input1 정규표현식 적용 결과 ==> "+input1.matches(regExp));
cs


6자리 문자열입니다. 당연히 false 가 리턴 됩니다. 


Result

input1 정규표현식 적용 결과 ==> false




1
2
String input2 = "abcd1234";
System.out.println("input2 정규표현식 적용 결과 ==> "+input2.matches(regExp));
cs


8자리 문자열이지만 영문소문자 와 숫자만 있습니다. 

조건을 만족하지 않죠!


Result

input2 정규표현식 적용 결과 ==> false




1
2
String input3 = "abcd1234!";
System.out.println("input3 정규표현식 적용 결과 ==> "+input3.matches(regExp));
cs


자릿수 조건 충족 & 영문소문자 & 숫자 & 특문 컨디션이지만 영문대문자가 빠졌습니다. 


Result

input3 정규표현식 적용 결과 ==> false




1
2
String input4 = "abcd0!@!B";
System.out.println("input4 정규표현식 적용 결과 ==> "+input4.matches(regExp));
cs


자릿수 만족 & 영문소문자 & 영문대문자 & 특문 & 숫자 등 모든 조건을 만족 했습니다. 

문자열 내에 공백문자도 없습니다. 


제대로 조건을 만족 했습니다. 


Result

input4 정규표현식 적용 결과 ==> true




1
2
String input5 = "abcd0 !@!B";
System.out.println("input5 정규표현식 적용 결과 ==> "+input5.matches(regExp));
cs


바로 위 문자열 중간에 공백문자를 추가 했습니다. 

당연히 false 가 리턴 됩니다. 


Result

input5 정규표현식 적용 결과 ==> false




일반적으로 많이 사용하고 있는 비밀번호 패턴을 정규표현식을 이용하여 작성해봤습니다. 


상황에 맞게 잘 수정해서 사용 하시길 바라겠습니다. 



 도움이 되셨다면 로그인이 필요 없는 

▼ 하트 클릭 한번 부탁 드립니다 

감사합니다 :D


블로그 이미지

쉬운코딩이최고

Android, Java, jsp, Linux 등의 프로그래밍 언어를 소개 합니다.

,



안녕하세요. 제임스 입니다. 


자바 정규표현식에서 한글만 허용하는 방법에 대해 정리해보겠습니다. 



■ 정규표현식 한글만 허용하기


1
String regExp = "^[가-힣]*$";
cs


위 표현식은 가 ~ 힣 까지의 한글을 허용 한다는 표현식입니다. 

뒤에 * 을 붙여서 입력이 안되어도 한글입력으로 인정합니다. 




샘플 코드 보시겠습니다. 


1
2
String input1 = "가나뷁";
System.out.println("input1 정규표현식 적용 결과 ==> "+input1.matches(regExp));
cs


문자열이 "가" ~ "힣" 범위 안에 들어 가는 한글들로 구성 되어 있습니다. 

위 코드 실행 결과는 아래와 같습니다. 


input1 정규표현식 적용 결과 ==> true




1
2
String input2 = "";
System.out.println("input2 정규표현식 적용 결과 ==> "+input2.matches(regExp));
cs


입력값이 없는 상태라도 한글로 인정 됩니다. 표현식에 보시면 * 을 추가 했는데요. 앞의 표현식이 입력되지 않아도 허용 한다는 의미 입니다. 


위 코드 실행 결과는 아래와 같습니다. 


input2 정규표현식 적용 결과 ==> true




1
2
String input3 = "공백 추가";
System.out.println("input3 정규표현식 적용 결과 ==> "+input3.matches(regExp));
cs


문자열에 공백이 추가 되었습니다. 정규표현식 상에서 공백을 허용하겠다는 내용이 없으므로 위 코드 실행 결과는 false 가 리턴 되어야 정상입니다. 


위 코드 실행 결과는 아래와 같습니다. 


input3 정규표현식 적용 결과 ==> false




■ 정규표현식 한글만 허용하기 (공백문자 허용)


그렇다면 공백을 허용 하고자 한다면 어떻게 해야 할까요? 

표현식으로 작성한 부분은 다음과 같습니다.


^[가~힣]*$


가 ~ 힣 까지 모두 허용 하는데 여기에 공백문자도 허용하겠다고 선언 하면 됩니다. 


1
String regExp = "^[가-힣\\s]*$";
cs


위와같이 \\s 를 추가 해줬습니다. \s 는 공백문자 허용 한다는 내용입니다. 

결과는 어떻게 나올까요? 당연히 true 로 리턴 됩니다. 


input3 정규표현식 적용 결과 ==> true




■ 정규표현식 한글만 허용하기 (자음&모음 허용)


1
2
String input4 = "레알ㄷㄷㄷㅏㄷㅏ";
System.out.println("input4 정규표현식 적용 결과 ==> "+input4.matches(regExp));
cs



이번에는 자음과 모음이 문자열에 포함되었습니다. 작성한 표현식 상에 자음 / 모음에 관한 정의를 하지 않았다는 것을 생각하면 실행 결과는 예상 가능하시죠? 


input4 정규표현식 적용 결과 ==> false



자음과 모음도 허용하는 표현식을 만들어 보겠습니다. 


1
String regExp = "^[ㄱ-ㅎ|ㅏ-ㅣ|가-힣\\s]*$";
cs


자음 ㄱ-ㅎ 추가 후 or 을 의미하는 " | " 값으로 구분합니다.

모음 ㅏ-ㅣ 추가 후 or 을 의미하는 " | " 값으로 구분합니다.

그리고 기존 표현식을 추가 해주면 자음, 모음을 포함한 한글 허용하기 표현식이 됩니다. 


실행 결과는 아래와 같습니다. 


input4 정규표현식 적용 결과 ==> true




상황에 따라 한글만 허용하더라도 자음/모음은 허용 하지 않거나 허용 해야 하는 경우가 다르게 나옵니다. 

상황에 맞게 표현식을 수정해가면 멋진 코딩을 할 수 있을 거라 생각됩니다. 




 도움이 되셨다면 로그인이 필요 없는 

▼ 하트 클릭 한번 부탁 드립니다 

감사합니다 :D


블로그 이미지

쉬운코딩이최고

Android, Java, jsp, Linux 등의 프로그래밍 언어를 소개 합니다.

,



안녕하세요. 제임스 입니다. 


앞서 정규표현식으로 파일 확장자 처리 하는 방법을 포스팅 했었는데요. 

abcd.tar.gz 와 같이 이중 파일 확장자가 있는 경우도 있습니다. 


이런 파일은 어떻게 처리 하는지 알아 보겠습니다. 




■ 정규표현식 이중 파일 확장자 처리


1
String regExp = "^([\\S]+(\\.(?i)(tar)+\\.gz)$)";
cs



위 코드는 abcd.tar.gz 파일 확장자를 정규표현식으로 변환한 것입니다. 

좀더 디테일하게 정리하면 아래와 같습니다. 


^

(

[\\S]

+

(

\\.

(?i)

(tar)

+

\\.gz

)

$

)

1

2

3

4

5

6

7

8

9

10

11

12

13



1: 정규표현식 시작 

2: 첫번째 영역 지정 소괄호 오픈

3: 공백문자가 아닌 문자열

4: 앞의 표현식 (3번) 이 1회 이상 일치 (공백문자가가 아닌 문자열이 꼭 와야 함)

5: 두번째 영역 지정 소괄호 오픈

6: 마침표( . )가 앞의 표현식 뒤에 따라옴

7: 대소문자 구분 없음

8: tar 라는 문자열만 허용 

9: 앞의 표현식 (8번) 이 1회 이상 일치

10: .gz 라는 문자열 포함

11: 두번째 영역 지정 소괄호 종료

12: 정규표현식 종료

13: 첫번째 영역 지정 소괄호 종료



앞서 일반적인 파일 확장자 정규표현식과 다른 부분이 위 8, 9, 10 입니다. 


8번의 경우 확장자 명을 기존 jpg, png 등 이미지 확장자 명에서 tar 로 변경 한 것입니다. 

9번의 경우 8번이 1회 이상 일치 해야 함을 지정 한 것입니다. 

10번의 경우 .gz 가 마지막에 따라 와야 함을 지정 한 것입니다. 



1
2
3
4
5
6
7
8
9
10
11
String regExp = "^([\\S]+(\\.(?i)(tar)+\\.gz)$)";
        
String input1 = "james.tar.gz";
String input2 = "james.zip.gz";
String input3 = ".tar.gz";
String input4 = "james..gz";
 
System.out.println("input1 정규표현식 적용 결과 ==> "+input1.matches(regExp));
System.out.println("input2 정규표현식 적용 결과 ==> "+input2.matches(regExp));
System.out.println("input3 정규표현식 적용 결과 ==> "+input3.matches(regExp));
System.out.println("input4 정규표현식 적용 결과 ==> "+input4.matches(regExp));
cs



input1 은 abcd.tar.gz 라는 파일 형식에 제대로 맞춰서 입력값을 초기화 했습니다. 

나머지 변수값들은 좀 비정상 적이죠? ^^;;


Results


input1 정규표현식 적용 결과 ==> true

input2 정규표현식 적용 결과 ==> false

input3 정규표현식 적용 결과 ==> false

input4 정규표현식 적용 결과 ==> false




 도움이 되셨다면 로그인이 필요 없는 

▼ 하트 클릭 한번 부탁 드립니다 

감사합니다 :D


블로그 이미지

쉬운코딩이최고

Android, Java, jsp, Linux 등의 프로그래밍 언어를 소개 합니다.

,



안녕하세요. 제임스 입니다. 


이번 포스팅에서는 정규표현식으로 지정된 파일 확장자만 허용 하는 방법에 대해 정리 하겠습니다.  



■ 정규표현식 파일 확장자 허용


1
String regExp = "^([\\S]+(\\.(?i)(jpg|png|gif|bmp))$)";
cs



위 표현식을 정리 하면 아래와 같습니다. 


^

(

[\\S]

+

(

\\.

(?i)

(jpg|png|gif|bmp)

)

$

)

1

2

3

4

5

6

7

8

9

10

11 


1: 정규표현식 시작 

2: 첫번째 영역 지정 소괄호 오픈

3: 공백문자가 아닌 문자열

4: 앞의 표현식 (3번) 이 1회 이상 일치 (공백문자가 아닌 문자열이 꼭 와야 함)

5: 두번째 영역 지정 소괄호 오픈

6: 마침표( . )가 앞의 표현식 뒤에 따라옴

7: 대소문자 구분 없음

8: jpg, png, gif, bmp 등의 문자열 조합 허용

9: 두번째 영역 지정 소괄호 종료

10: 정규표현식 종료

11: 첫번째 영역 지정 소괄호 종료



1
2
3
4
5
6
7
8
9
String regExp = "^([\\S]+(\\.(?i)(jpg|png|gif|bmp))$)";
        
String input1 = "abc.jpg";
String input2 = "def jpg";
String input3 = "def.txt";
        
System.out.println("input1 정규표현식 적용 결과 ==> "+input1.matches(regExp));
System.out.println("input2 정규표현식 적용 결과 ==> "+input2.matches(regExp));
System.out.println("input3 정규표현식 적용 결과 ==> "+input3.matches(regExp));
cs



위와 같이 세가지 문자열을 정규표현식으로 검사 해보겠습니다. 


input1 은 abc.jpg 로 셋팅 했습니다. 

많이 보던 파일명 형식이죠? 


input2 는 중간에 . 이 빠진 형태 입니다. ( . ) 을 제대로 인식 하는지 여부 확인 용입니다. 


input3 은 파일 확장자 명이 txt 입니다. 정규표현식에 없는 확장자 명을 지정 했습니다. 



Results


input1 정규표현식 적용 결과 ==> true

input2 정규표현식 적용 결과 ==> false

input3 정규표현식 적용 결과 ==> false



input1 을 제외한 나머지는 정규표현식에 맞지 않는 형식이기에 false 가 리턴 되었습니다. 



파일 확장자 정규표현식은 블로그나 카페에 여기저기 많이 있긴 한데요. 

실제 테스트 해보시면 특정 케이스가 제대로 걸러지지 않는 경우가 많아 수정에 수정을 했습니다. 


잘 사용하시길 바라겠습니다. 



 도움이 되셨다면 로그인이 필요 없는 

▼ 하트 클릭 한번 부탁 드립니다 

감사합니다 :D


블로그 이미지

쉬운코딩이최고

Android, Java, jsp, Linux 등의 프로그래밍 언어를 소개 합니다.

,



안녕하세요. 제임스 입니다. 


이번 포스팅에서는 정규표현식으로 영문자만 허용하는 방법에 대해 정리 하겠습니다. 



■ 정규표현식 영문자만 허용하기 (대소문자 구분없이 모두 허용)


1
String regExp =  "^[a-zA-Z]*$";
cs



위 표현식을 정리 하면 아래와 같습니다.


^[a-zA-Z]*$


^ => 문자열 시작

a-z => 소문자 a ~ z 까지 허용

A-Z => 대문자 A ~ Z 까지 허용

* => 앞에 문자가 없거나 무한대로 많이 있을 수 있음 

$ => 문자열 종료



즉, 대소 문자 구분없이 영문자 모두를 허용하며 빈값도 허용한다는 표현식 입니다. 



1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
String regExp =  "^[a-zA-Z]*$";
 
String testStr1 = "James";
String testStr2 = "james";
String testStr3 = "JAMES";
String testStr4 = "j a m e s";
String testStr5 = "J A M E S";
String testStr6 = "";
        
System.out.println("testStr1 ==> "+testStr1.matches(regExp));
System.out.println("testStr2 ==> "+testStr2.matches(regExp));
System.out.println("testStr3 ==> "+testStr3.matches(regExp));
System.out.println("testStr4 ==> "+testStr4.matches(regExp));
System.out.println("testStr5 ==> "+testStr5.matches(regExp));
System.out.println("testStr6 ==> "+testStr6.matches(regExp));
cs


testStr1 은 대소문자 같이 포함한 문자열입니다. 

testStr2 는 소문자만 포함한 문자열

testStr3 은 대문자만 포함한 문자열

testStr4 는 소문자만 포함한 문자열이지만 띄어쓰기를 했습니다. 

testStr5 는 대문자만 포함한 문자열이지만 역시 띄어쓰기를 했습니다. 

testStr6 은 빈값으로 설정 했습니다. 


각각의 변수를 String 객체의 matches 함수를 이용하여 결과값을 찍어 봤습니다. 


결과는 아래와 같습니다. 


testStr1 ==> true

testStr2 ==> true

testStr3 ==> true

testStr4 ==> false

testStr5 ==> false

testStr6 ==> true



4, 5번의 경우 문자열에 띄어쓰기가 포함되어 있어 false 가 리턴 되었습니다. 

6번은 아무 값도 없는 상태 이기 때문에 true 가 리턴 되었습니다. 만약 6번이 띄어쓰기만 있었다면 역시 false 가 리턴 됩니다. 




■ 정규표현식 영문자 대문자만 or 소문자만 허용하기 


1
String regExpLowerCaseOnly =  "^[a-z]*$";
cs


위 표현식과 같이 a-z 만 추가 하면 소문자만 인정하는 표현식이 됩니다. 



1
String regExpUpperCaseOnly =  "^[A-Z]*$";
cs


소문자를 대문자로 변경 하기만 하면 대문자만 인정하는 표현식이 됩니다. 



간단하죠? ^^


영문자 관련 정규표현식은 많이 사용하는 것이니 잘 기억해두시고 사용하시면 좋을거예요 ^^



 도움이 되셨다면 로그인이 필요 없는 

▼ 하트 클릭 한번 부탁 드립니다 

감사합니다 :D


블로그 이미지

쉬운코딩이최고

Android, Java, jsp, Linux 등의 프로그래밍 언어를 소개 합니다.

,



안녕하세요. 제임스 입니다. 


앞서 정규표현식 (Regular Expression) 에 대해 간단히 정리 했었습니다. 

이번에는 정규표현식 중 숫자만 허용 하는 표현식을 알아 보겠습니다. 




■ 정규표현식 숫자만 허용하기


1
String regExp = "^[0-9]+$";
cs


위와 같이 정규표현식을 작성 했습니다. 


^ => 문자열의 시작

[...] => 문자의 집합, 두 문자 사이에 - 기호를 이용하여 범위를 지정 [0-9] 와 같이 입력하여 0 ~ 9 를 표현 

+ => 앞에 문자가 최소 한개이상 있음, 여기서는 0 ~ 9 사이의 숫자의 갯수 제한이 없음을 의미

$ => 문자열 종료 


다시 정리 하면 아래와 같습니다. 



^[0-9]+$


문자열 시작 

[0 ~ 9 까지 숫자 인정] 

0 ~ 9 까지 숫자 갯수 제한 없음

문자열 종료



위 표현식이 정말 숫자만 허용 하는지 확인 해보겠습니다. 


1
2
3
4
5
6
7
String testStr1 = "12345";
 
if(testStr1.matches(regExp)){
    System.out.println("testStr1 ==> 숫자만 입력 됨");
}else {
    System.out.println("testStr1 ==> 숫자 외 다른 문자도 입력 됨");
}
cs


testStr1 이라는 변수에 숫자만 1 ~ 5 까지 나열 되어 있습니다. 

그냥 봐도 숫자만 입력 된 것이 맞죠? ^^


결과는 아래와 같습니다. 

testStr1 ==> 숫자만 입력 됨



1
2
3
4
5
6
7
String testStr2 = "1T2E3S4T5";
 
if(testStr2.matches(regExp)){
    System.out.println("testStr2 ==> 숫자만 입력 됨");
}else {
    System.out.println("testStr2 ==> 숫자 외 다른 문자도 입력 됨");
}
cs


testStr2 이라는 변수에는 숫자와 문자의 조합인 값이 들어 있습니다. 


결과는 아래와 같습니다.

testStr2 ==> 숫자 외 다른 문자도 입력 됨



1
2
3
4
5
6
7
String testStr3 = "";
 
if(testStr3.matches(regExp)){
    System.out.println("testStr3 ==> 숫자만 입력 됨");
}else {
    System.out.println("testStr3 ==> 숫자 외 다른 문자도 입력 됨");
}
cs


testStr3 이라는 변수는 빈 값으로 설정 했습니다. 


결과는 아래와 같습니다.

testStr3 ==> 숫자 외 다른 문자도 입력 됨




■ 정규표현식 숫자와 공백 허용하기


위 세번째 예제를 사용한 이유는 숫자만 허용하는 표현식을 많이 사용 하기도 하지만 더 많이 사용 하는 것이 숫자와 빈값을 인정하는 표현식을 더 많이 사용하기 때문입니다. 


앞선 숫자만 허용하는 표현식에서는 + 라는 표현식을 이용하여 선행 문자의 갯수를 1개 이상으로 지정 했었습니다. 하지만 이 표현식을 * 로 변경할 경우 선행 문자의 갯수가 0개 이상으로 지정 할 수 있습니다. 


예제를 보시겠습니다. 


1
2
3
4
5
6
7
String regExp2 = "^[0-9]*$";
String testStr4 = "";
if(testStr4.matches(regExp2)){
    System.out.println("testStr4 ==> 숫자만 입력 됨");
}else {
    System.out.println("testStr4 ==> 숫자 외 다른 문자도 입력 됨");
}
cs


regExp2 변수는 0 ~ 9 사이의 숫자가 0개 이상인 것으로 지정 했습니다. 


결과는 아래와 같습니다. 

testStr4 ==> 숫자만 입력 됨



 도움이 되셨다면 로그인이 필요 없는 

▼ 하트 클릭 한번 부탁 드립니다 

감사합니다 :D




블로그 이미지

쉬운코딩이최고

Android, Java, jsp, Linux 등의 프로그래밍 언어를 소개 합니다.

,



 ■ Java Character - Character.toLowerCase() 함수



toLowerCase() 함수는 입력 받은 인자 값을 소문자로 변환하여 리턴해줍니다. 




Syntax

public static char toLowerCase( char ch )

public static int toLowerCase( int codePoint )




Example


1
2
System.out.println(Character.toLowerCase('T'));
System.out.println(Character.toLowerCase('\u0054'));
cs


대문자 'T' 와 Unicode 값을 입력 시 소문자 't' 로 리턴 해줍니다. 



1
System.out.println(Character.toLowerCase(84));
cs


대문자 'T' 를 의미하는 Unicode 숫자 값 84를 입력 시 소문자 't' 를 리턴 하는 것이 아니라 소문자 't'에 상응하는 Unicode 116을 리턴 합니다. 



1
System.out.println(Character.toLowerCase('자'));
cs


'자' 라는 한글을 입력 해 봅니다. 결과는 어떻게 나올까요? 

'자' 라는 한글은 영문자가 아닙니다. 그러니 대소문자 변환 할 것도 없죠.

위 코드를 실행 시 '자' 라는 값을 그대로 리턴 시킵니다.




 도움이 되셨다면 로그인이 필요 없는 

▼ 하트 클릭 한번 부탁 드립니다 

감사합니다 :D



블로그 이미지

쉬운코딩이최고

Android, Java, jsp, Linux 등의 프로그래밍 언어를 소개 합니다.

,



 ■ Java Character - Character.isLowerCase() 함수 



isLowerCase() 함수는 입력 받은 인자가 영문 소문자 인지 여부를 판단하여 true 또는  false 값을 리턴 합니다. 



Syntax

public static boolean isLowerCase ( char ch )

public static boolean isLowerCase ( int codePoint )



Example


1
2
System.out.println(Character.isLowerCase('t'));
System.out.println(Character.isLowerCase('\u0074'));
cs


영문 소문자 't' 그리고 영문 소문자 t 의 Unicode 인 \u0074 모두 소문자를 의미 하므로 true가 리턴 됩니다. 


1
2
System.out.println(Character.isLowerCase('T'));
System.out.println(Character.isLowerCase('\u0054'));
cs


영문 대문자 'T' 그리고 Unicode 값인 \u0054 모두 대문자 T 를 의미 하므로 false 가 리턴 됩니다. 


1
System.out.println(Character.isLowerCase(116));
cs


입력 값이 int 형입니다. 

위 Syntax 를 보시면 두번째 함수가 int 형 인자를 받고 있습니다. 

Unicode 의 소문자 t를 의미 하는 값으로 true 가 리턴 됩니다. 


1
2
System.out.println(Character.isLowerCase('7'));
System.out.println(Character.isLowerCase('굿'));
cs


char 형의 '7' 값은 영문자가 아닙니다.

또한 '굿' 이라는 한글 캐릭터 역시 영문자가 아니며 당연히 소문자도 아니므로 false 값이 리턴 됩니다. 




 도움이 되셨다면 로그인이 필요 없는 

▼ 하트 클릭 한번 부탁 드립니다 

감사합니다 :D



블로그 이미지

쉬운코딩이최고

Android, Java, jsp, Linux 등의 프로그래밍 언어를 소개 합니다.

,



■ Java Character - Character.isUpperCase() 함수



isUpperCase() 함수는 입력 받은 인자가 영문 대문자 인지 여부를 판단하여 true 또는 false 값을 리턴 합니다. 



Syntax

public static boolean isUpperCase ( char ch )

public static boolean isUpperCase ( int codePoint )



Example


1
2
System.out.println(Character.isUpperCase('t'));
System.out.println(Character.isUpperCase('\u0074'));
cs


영문 소문자 't' 그리고 영문 소문자 t 의 Unicode 인 \u0074 모두 소문자를 의미 하므로 false 가 리턴 됩니다. 



1
2
System.out.println(Character.isUpperCase('T'));
System.out.println(Character.isUpperCase('\u0054'));
cs


영문 대문자 'T' 그리고 Unicode 값인 \u0054 모두 대문자 T 를 의미 하므로 true 가 리턴 됩니다. 



1
System.out.println(Character.isUpperCase(84));
cs


입력 값이 int 형입니다. 

위 Syntax 를 보시면 두번째 함수가 int 형 인자를 받고 있습니다. 

Unicode 의 대문자 T 를 의미 하는 값으로 true 가 리턴 됩니다. 



1
2
System.out.println(Character.isUpperCase('7'));
System.out.println(Character.isUpperCase('굿'));
cs


char 형의 '7' 값은 영문자가 아닙니다.

또한 '굿' 이라는 한글 캐릭터 역시 영문자가 아니며 당연히 대문자도 아니므로 false 값이 리턴 됩니다. 




 도움이 되셨다면 로그인이 필요 없는 

▼ 하트 클릭 한번 부탁 드립니다 

감사합니다 :D



블로그 이미지

쉬운코딩이최고

Android, Java, jsp, Linux 등의 프로그래밍 언어를 소개 합니다.

,



■ Java Character - Character.isLetter() 함수



isLetter() 함수는 명시된 char 값이 문자 인지 여부를 판단하여 true/false 를 리턴 합니다. 



Syntax

public static boolean isLetter(char ch)

public static boolean isLetter(int codePoint)



Example


1
System.out.println(Character.isLetter('a'));
cs

char 형 a 가 letter 인가 판단하는 코드 입니다. 


실행 결과는 true 가 리턴 됩니다. 



1
System.out.println(Character.isLetter('7'));
cs

char 형 7 이 letter 인가 판단하는 코드 입니다. 


실행 결과는 false 가 리턴 됩니다. 7은 digit 입니다. 




 도움이 되셨다면 로그인이 필요 없는 

▼ 하트 클릭 한번 부탁 드립니다 

감사합니다 :D




블로그 이미지

쉬운코딩이최고

Android, Java, jsp, Linux 등의 프로그래밍 언어를 소개 합니다.

,