2013-08-19 155 views

回答

1

不能使用NSDataDetector其提供的僅[10_7,4_0]

enter image description here

所以它很容易和適當的方式來驗證電話號碼像下面的方式而不是NSDataDetector

NSString *string [email protected]"121453315"; 
    NSString *phoneRegex = @"^((\\+)|(00))[0-9]{6,14}$"; 
    NSPredicate *phoneTest = [NSPredicate predicateWithFormat:@"SELF MATCHES %@", phoneRegex]; 
    BOOL phoneValidates = [phoneTest evaluateWithObject:string]; 
+0

正則表達式似乎認爲這是唯一的方法。我讀過使用NSDataDetector更好,因爲它檢查基於國家的電話號碼,但在我的情況下,如果客戶想要允許超過14個字符,我將不得不使用RegEx。謝謝。 @Nitin – Anand

+0

設置PhoneRegex爲你需要thx和不錯的工作@joy –

+0

@Joy沒有得到你爲什麼你接受答案後再次unAcept .. anyWayay它的好 –

0

將NSDataDetector用於常規電話號碼,並添加一個特殊的正則表達式,匹配您的應用程序需要添加缺少結果的僅14位數字+電話號碼。對於較短的電話號碼,NSDataDetector將更準確,你可以寫任何正則表達式...