2011-08-02 11 views
1

ユーザーがUITextFieldに入力した文字列を認証してチェックするにはどうすればよいですか?次のようにiPhone:UITextViewでテキスト入力を認証する - 最善の方法ですか?

私のワークフローは次のとおりです。 1)ユーザー打ち上げビューは、いくつかのUITexFields 3)ユーザーがUITextフィールド 4)ユーザーは「すべてを保存」をクリックするボタン 5)内の文字列内のデータを記入が含まれています)ビュー 2 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で、Objective Cの(documentation)での正規表現のためのクラスがあります。あなたが正規表現を認証するときに探しているものによっては、最良の方法かもしれません。たとえば、文字列は英数字のみを持っていることを確認したい場合は、あなたができる:

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

このメソッドは文字列をチェックし、生成された文字列が何文字を持っていないならば、NSCharacterSet-で見つかったすべての文字を削除し、予期せぬ文字はありませんでした。独自のNSCharacterSetsを作成することができます。これにより、正規表現に比べて簡単に検証できます。

関連する問題