2012-03-07 3 views
2

전화 번호 nubmber는 0XXXXXXXXXX 또는 + 91XXXXXXXXXX 또는 XXXXXXXXXX와 같은 형식이 다를 수 있습니다.다른 형식의 전화 번호

모든 경우에 전화 번호는 유사합니다.

어떻게 비교할 수 있습니까?

+2

당신이 정규 표현식을 테스트 할 수 있습니다 –

답변

1

신의 사랑으로 이것을하십시오 : 모든 전화 번호 형식을 다루는 것은 다른 데이터 형식을 취급하는 것처럼 까다 롭고 털이 있습니다. 기존의 "성숙한"라이브러리를 사용하는 것은 항상 정상적인 선택입니다. 성숙한 인기 라이브러리 중 하나 인 PhoneNumberKit을 사용하십시오.

그러나 당신이 가장자리에 살고 싶은 경우에, 당신이 뭔가를 시도 할 수 있습니다 -

    문자열 & 역
  1. 은 처음 10 개 문자를 비교합니다.
  2. 정규 표현식이 더 나은 해결책입니다. 형식이 많은만큼 정규식을 사용하십시오. & 당신은 좋은 편입니다.
  3. 다른 사람들이 혜택을 위해 문자열을 반대로 srikar에서 언급 한 바와 같이

일반 handling phone numbers

+0

PhoneNumberUtils.compare는 객관적인 목적을위한 것이 아닙니다 –

+0

오 죄송합니다. 게시물을 편집했습니다 –

+0

전화 번호가 +91- (XXX) XXX XXXX –

0

맞춤 일치 문자를 사용하여 오른쪽에서 왼쪽으로 비교를 시작할 수 있습니다. 또한 휴대폰의 마지막 몇 자리 숫자가 처음 몇 자릿수 이상 변하기 때문에 코드가 불일치 비교에서 빨리 실패하므로 원하는 결과를 얻으므로 작동합니다. 당신이 가지고있는 일치의 수를 유지하십시오. 그리고 그것이 특정 임계 값을 통과하면 10이라고 말한 다음, 숫자를 똑같이 부르십시오. 더 자세한 내용을 알지 못하면 합리적으로 잘 작동 할 것입니다.

+0

흠 ..이 지난 10 자리 셀 번호가 10 개 자리가됩니다, 중요하고 국가 코드 변환없이 그대로 작동 할 수 있습니다. –

0

에 읽기 : 소스이 라이브러리를 열고 10 characters.Create에게 방법을 비교하고 모든을 위해 문의하시기 바랍니다 3 개의 끈 다음에 그것들을 비교하십시오.

NSMutableString *reversedString = [NSMutableString string]; 
NSInteger charIndex = [myString length]; 
NSInteger count; 
count=10; 
while(count >= 0) { 
    count--;  
    charIndex--; 
    NSRange subStrRange = NSMakeRange(charIndex, 1); 
    [reversedString appendString:[myString substringWithRange:subStrRange]]; 
}