mirror of
https://github.com/danog/Telegram.git
synced 2024-12-02 09:27:55 +01:00
83 lines
2.0 KiB
Objective-C
83 lines
2.0 KiB
Objective-C
#import "TGPhoneUtils.h"
|
|
|
|
#import "RMPhoneFormat.h"
|
|
|
|
@implementation TGPhoneUtils
|
|
|
|
+ (NSString *)formatPhone:(NSString *)phone forceInternational:(bool)forceInternational
|
|
{
|
|
if (phone == nil)
|
|
return @"";
|
|
|
|
return [[RMPhoneFormat instance] format:phone implicitPlus:forceInternational];
|
|
}
|
|
|
|
+ (NSString *)formatPhoneUrl:(NSString *)phone
|
|
{
|
|
if (phone == nil)
|
|
return @"";
|
|
|
|
unichar cleanPhone[phone.length];
|
|
int cleanPhoneLength = 0;
|
|
|
|
int length = (int)phone.length;
|
|
for (int i = 0; i < length; i++)
|
|
{
|
|
unichar c = [phone characterAtIndex:i];
|
|
if (!(c == ' ' || c == '(' || c == ')' || c == '-'))
|
|
cleanPhone[cleanPhoneLength++] = c;
|
|
}
|
|
|
|
return [[NSString alloc] initWithCharacters:cleanPhone length:cleanPhoneLength];
|
|
}
|
|
|
|
+ (NSString *)cleanPhone:(NSString *)phone
|
|
{
|
|
if (phone.length == 0)
|
|
return @"";
|
|
|
|
char buf[phone.length];
|
|
int bufPtr = 0;
|
|
|
|
int length = (int)phone.length;
|
|
for (int i = 0; i < length; i++)
|
|
{
|
|
unichar c = [phone characterAtIndex:i];
|
|
if (c >= '0' && c <= '9')
|
|
{
|
|
buf[bufPtr++] = (char)c;
|
|
}
|
|
}
|
|
|
|
return [[NSString alloc] initWithBytes:buf length:bufPtr encoding:NSUTF8StringEncoding];
|
|
}
|
|
|
|
+ (NSString *)cleanInternationalPhone:(NSString *)phone forceInternational:(bool)forceInternational
|
|
{
|
|
if (phone.length == 0)
|
|
return @"";
|
|
|
|
char buf[phone.length];
|
|
int bufPtr = 0;
|
|
|
|
bool hadPlus = false;
|
|
int length = (int)phone.length;
|
|
for (int i = 0; i < length; i++)
|
|
{
|
|
unichar c = [phone characterAtIndex:i];
|
|
if ((c >= '0' && c <= '9') || (c == '+' && !hadPlus))
|
|
{
|
|
buf[bufPtr++] = (char)c;
|
|
if (c == '+')
|
|
hadPlus = true;
|
|
}
|
|
}
|
|
|
|
NSString *result = [[NSString alloc] initWithBytes:buf length:bufPtr encoding:NSUTF8StringEncoding];
|
|
if (forceInternational && bufPtr != 0 && buf[0] != '+')
|
|
result = [[NSString alloc] initWithFormat:@"+%@", result];
|
|
return result;
|
|
}
|
|
|
|
@end
|