한글은 unicode기 때문에 cString으로 변환하여 길이를 비교해보면
NSString의 length와 차이가 있다.
따라서 그렇게 비교
-(BOOL) checkKoean : (NSString*)string
{
NSString* firstChar = [string getFirstChar];
NSString* lastChar = [string getLastChar];
NSInteger code1 = [firstChar characterAtIndex:0];
NSInteger code2 = [lastChar characterAtIndex:0];
if (code1 < 44032 || code1 > 55203 || code2< 44032 || code2 > 55203)
{
// NSLog(@"한글이 아닙니다.");
return NO;
}
if(firstChar.length == strlen([firstChar cStringUsingEncoding:NSUTF8StringEncoding]) && lastChar.length == strlen([lastChar cStringUsingEncoding:NSUTF8StringEncoding]))
{
return NO;
}
// 적어도 단어가 들어와야 함
if (strlen([firstChar cStringUsingEncoding:NSUTF8StringEncoding]) < 2 || strlen([lastChar cStringUsingEncoding:NSUTF8StringEncoding]) <2)
{
return NO;
}
return YES;
}
@implementation NSString (Character)
-(NSString *)getFirstChar
{
return [self substringWithRange:NSMakeRange(0, 1)];
}
-(NSString *)getLastChar
{
return [self substringWithRange:NSMakeRange(self.length-1, 1)];
}
'프로그래밍 > iOS' 카테고리의 다른 글
[iOS] 숫자에 천단위 구분자(,) 넣어주기 (0) | 2017.03.03 |
---|---|
[iOS] NSString 초,중,종성 분리 Category (0) | 2017.03.03 |
[iOS] slicing (0) | 2016.11.29 |
[iOS] bitcode (0) | 2016.11.29 |
[iOS] 프로젝트 파일 nsdata로 가져오기 (0) | 2016.11.23 |