2

你好我所有有一個NSString在這種格式+1-123-123-1234(電話號碼美國基地風格),我的問題是我們怎麼能比較我的字符串格式在+1-123-123-1234格式。字符串格式比較在目標c

基於字符串比較格式化我必須做另一項任務..所以任何人有任何想法請幫助我。

+2

您應該使用NSRegularExpression我想 –

回答

4

您可以使用NSRegularExpression來測試您的字符串是否具有某種格式。

NSRegularExpression *regex = [NSRegularExpression 
    regularExpressionWithPattern:@"^\\+\\d-\\d{3}-\\d{3}-\\d{4}$" 
         options:NSRegularExpressionCaseInsensitive 
          error:nil]; 

int num = [regex numberOfMatchesInString:phoneNumberHere 
           options:0 
            range:NSMakeRange(0, [phoneNUmberHere length])]; 
if (num == 1) { 
    // match! 
} 
+1

我認爲第一個'\\ D'可以簡單'1'如果OP只是測試美國的電話號碼,但唯一的其他個位數的國家代碼是爲+7俄國。 – mkb

+0

這僅適用於iOS 4.0及更高版本。如果你發現自己編寫的代碼爲4.0以下的東西,那麼在'NSString'的其中一個搜索方法中使用'NSRegularExpressionSearch'。 – Hyperbole

+0

當我通過我的電話號碼我得到了警告消息:'NSRegularExpression'可能不會響應'-numberOfMatchesInString:' – Hitarth