2012-10-20 53 views
0

我知道如何使用人員選取器API從地址簿中獲取電子郵件地址並將其驗證爲有效的電子郵件地址。我現在正在嘗試使用手機號碼。該號碼將被存儲並且稍後傳遞給短信息api。我如何驗證號碼以確保它可以接收短信並使用來自不同國家的所有不同號碼格式?驗證ios中短信的電話號碼

如果不可能確切,我寧願允許一些在發送消息階段失敗的數字,而不是拒絕有效的數字。

+0

也許這可以幫助 - > http://the-lost-beauty.blogspot.jp/2010/01/ locale-sensitive-phone-number.html – borrrden

+0

我會讀一下 - 謝謝 –

+0

這個腳本看起來很有趣,但要求所有國家都要手動配置,我不能證明這個項目是正確的。想想我會使用NSDataDetector來確保它是一個電話號碼,並向用戶提供一些指示,說明它必須是手機號碼。 –

回答

0

在libPhoneNumber-IOS(https://github.com/iziz/libPhoneNumber-iOS

您可以用這種方式

NBPhoneNumberUtil *phoneUtil = [NBPhoneNumberUtil sharedInstance]; 

NSError *aError = nil; 
NBPhoneNumber *aPhoneNumber = 
    [phoneUtil parse:@"13111589979" defaultRegion:@"US" error:&aError]; 

NBEPhoneNumberType type = [phoneUtil getNumberType:myNumber]; 
BOOL isValidType = (type == NBEPhoneNumberTypeMOBILE); 

BOOL isValidNumber = 
    [phoneUtil isValidNumber:myNumber] && [phoneUtil isViablePhoneNumber:myNumber];