조회 수 19573 추천 수 0 댓글 0
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄

NSString 에서도 정규식을 사용할 수 있다.

아래는 자주 사용하는 간단한 예제..



1.숫자인지 체크
NSString *str = @"1234";
NSString *str1 = @"1234gfd432";
NSString *ptn = @"^[0-9]*$";
 
NSRange range = [str rangeOfString:ptn options:NSRegularExpressionSearch];
NSRange range1 = [str1 rangeOfString:ptn options:NSRegularExpressionSearch];
 
NSLog(@"%d, %d", range.length, range1.length); // 4, 0을 출력


2.영문자[특수문자(-,_,&)포함]인지 체크
NSString *str = @"1234";
NSString *str1 = @"asdfb-sdf";
NSString *ptn = @"^[a-zA-Z-\_&]*$";
 
NSRange range = [str rangeOfString:ptn options:NSRegularExpressionSearch];
NSRange range1 = [str1 rangeOfString:ptn options:NSRegularExpressionSearch];
 
NSLog(@"%d, %d", range.length, range1.length); // 0, 9 출력


3.유효한 이메일 주소 형식인지 체크
NSString *str = @"1234@abc";
NSString *str1 = @"leegt__@naver.com";
NSString *ptn =
@"^([a-zA-Z0-9-\_]{3,20})@([a-zA-Z0-9-\_]{3,20}).([a-zA-Z0-9-\_.]{2,20})$";
 
NSRange range = [str rangeOfString:ptn options:NSRegularExpressionSearch];
NSRange range1 = [str1 rangeOfString:ptn options:NSRegularExpressionSearch];
 
NSLog(@"%d, %d", range.length, range1.length); // 0, 17 출력


4.유효한 전화번호인지 체크
NSString *str = @"1234";
NSString *str1 = @"02-1234-1234";
NSString *ptn = @"([0-9]{2,3})-([0-9]{3,4})-([0-9]{4})";
 
NSRange range = [str rangeOfString:ptn options:NSRegularExpressionSearch];
NSRange range1 = [str1 rangeOfString:ptn options:NSRegularExpressionSearch];
 
NSLog(@"%d, %d", range.length, range1.length); // 0, 12 출력


5.유효한 핸드폰 번호인지 체크
NSString *str = @"012-123-1234";
NSString *str1 = @"010-1234-1234";
NSString *ptn = @"(010|011|016|017|018|019)-([0-9]{3,4})-([0-9]{4})";
 
NSRange range = [str rangeOfString:ptn options:NSRegularExpressionSearch];
NSRange range1 = [str1 rangeOfString:ptn options:NSRegularExpressionSearch];
 
NSLog(@"%d, %d", range.length, range1.length); // 0, 12 출력


6.정규식을 이용한 문자열 치환시
아래 주소 참조해주세요,
외부 데이터를 가져올때 태그를 제거하고 글자만 뽑아 내고 싶을때 사용하면 편합니다.
아래 소스에서 정규식이 @"<("[^"]*"|'[^']*'|[^'">])*>" 으로 되어져 있습니다.  이를 @"<[^<|>]*>"으로 사용해도
같은 결과를 뽑을수 있습니다.
자바스크립트에서 사용하는 정규식과 동일 ㅋㅋ
NSString *email = @"picomax@nate.com";
    NSArray *split = [email componentsSeparatedByString:@"@"];
    NSString *pre = [[split objectAtIndex:0] substringWithRange:NSMakeRange(0, 2)];
    NSString *post = [[split objectAtIndex:0] substringWithRange:NSMakeRange(2, [[split objectAtIndex:0] length]-2)];
    
    NSString *template = @"*";
    NSError *error   = nil;
    NSRegularExpression *regexp =
    [NSRegularExpression regularExpressionWithPattern:@"[a-zA-Z0-9-_]"
                                              options:0
                                                error:&error];
    NSString *replaced =
    [regexp stringByReplacingMatchesInString:post
                                     options:0
                                       range:NSMakeRange(0,post.length)
                                withTemplate:template];
    
    NSString *result = ([split count]>1) ? [NSString stringWithFormat:@"%@%@@%@", pre, replaced, [split objectAtIndex:1]] : [NSString stringWithFormat:@"%@%@@%@", pre, replaced, @"nate.com"];

?

  1. [jsp][php] 간단한 강좌 자료..

    Date2003.04.23 CategoryDevelop Byhooni Views9512
    Read More
  2. [js] 2048 예쁘게 만들고 있는거.. ㅋㄷ

    Date2015.01.30 CategoryDevelop Byhooni Views0
    Read More
  3. [js] 2차 잉여.. (Quadratic reciprocity) 계산..

    Date2013.04.23 CategoryDevelop Byhooni Views8246
    Read More
  4. [js] ajax를 이용해 외부문서 불러오기..

    Date2013.04.23 CategoryDevelop Byhooni Views8039
    Read More
  5. [js] AngularJS 란?

    Date2015.11.26 CategoryDevelop Byhooni Views2177
    Read More
  6. [js] AngularJS를 소개합니다.

    Date2014.01.06 CategoryDevelop Byhooni Views13845
    Read More
  7. [js] Array.splice() 설명

    Date2014.04.24 CategoryDevelop Byhooni Views4132
    Read More
  8. [js] Click button copy to clipboard

    Date2018.04.05 CategoryDevelop Byhooni Views4393
    Read More
  9. [js] Closure를 이용해 캡슐화..

    Date2013.12.16 CategoryDevelop Byhooni Views10570
    Read More
  10. [js] e.stopPropagation() VS e.preventDefault ()

    Date2015.04.14 CategoryDevelop Byhooni Views1745
    Read More
  11. [js] get방식, url이후 모두 그대로 읽어오기..

    Date2013.04.23 CategoryDevelop Byhooni Views7981
    Read More
  12. [js] IE에서 인쇄 설정 팁

    Date2013.04.23 CategoryDevelop Byhooni Views11946
    Read More
  13. [js] Javascript로 만든 포트리스 (2010)

    Date2017.03.03 CategoryDevelop Byhooni Views5474
    Read More
  14. [js] jQjuery $ 활용

    Date2013.12.17 CategoryDevelop Byhooni Views10189
    Read More
  15. [js] jQuery 배열 루프(each)

    Date2013.12.17 CategoryDevelop Byhooni Views11095
    Read More
  16. [js] jQuery plugin 요약

    Date2013.12.20 CategoryDevelop Byhooni Views11585
    Read More
Board Pagination Prev 1 ... 41 42 43 44 45 ... 74 Next
/ 74