2011-08-02 38 views
1

什麼是驗證和檢查用戶輸入到UITextField中的字符串的最佳方式?iPhone:在UITextView中驗證文本輸入 - 最佳方式?

我的工作流程如下: 1)用戶啓動視圖 2)視圖包含多個UITexFields 3)用戶填寫UIText字段 4)用戶點擊「保存全部」按鈕 5)內的該串內數據UITextFields進行身份驗證,看看他們是否可以接受 6)活動指標正在進行身份驗證 7)成功後視圖彈出和信息發佈 8)如果不成功,UIActionsheet彈出並通知用戶哪些字段是不正確的以及可接受的參數是什麼。

我的問題是這樣的:我使用正則表達式來驗證字符串?如果有的話,是否有任何有用的教程或鏈接用於此目的?

下面是代碼:

-(IBAction)saveAllButtonPressed 
{ 
    //Authenticate input ie: strings here 
    //TO BE IMPLEMENTED 

    if(!passedAuthentication) 
     { 
     //show UIActionsheet here 

     } 
    else //If passed authentication save everything and pop off the view 
     { 
//sanitize input before storing in customer info model ie. take out dashes, strings etc.. 
     //TO BE IMPLEMENTED 



     Cart.customerInfoObtained = YES; 
     infoModel = [[customerInfoModel alloc] initWithObjects:self.Name.text 
                 AptNo:self.AptNum.text 
                 Street1:self.Street1.text 
                 Street2:self.Street2.text 
                  City:self.City.text 
                  Tel:self.Telephone.text 
                 Email:self.Email1.text]; 
[Cart addCustomerInfo:infoModel]; 
    } 

} 

回答

1

我不知道你想在文本來驗證什麼,但與iOS 4.0,有一個爲目標C(documentation)正則表達式的類。取決於您在驗證正則表達式時尋找的內容可能是最佳方式,也可能不是最佳方式。例如,如果你想確保字符串只有字母數字字符,你可以這樣做:

NSCharacterSet *alphaSet = [NSCharacterSet alphanumericCharacterSet]; 
BOOL valid = [[MY_STRING stringByTrimmingCharactersInSet:alphaSet] isEqualToString:@""]; 

此方法檢查字符串,並刪除在NSCharacterSet-發現的所有字符,那麼如果生成的字符串沒有字符,沒有意外的字符。您可以創建自己的NSCharacterSets,因此與正則表達式相比,這可能是一種更簡單的驗證方式。