8

重複の可能性:
ユーザーが正しい形式で電子メール アドレス文字列を入力したことを確認しますか?

入力したユーザーからメールアドレスをUITextField取得し、@ 記号やその他のメール文字などの記号が含まれていることを確認するなど、そのメールアドレスを検証したいと考えています。

メールアドレスに誤りがある場合は、UIAlertView「有効なメールアドレスを入力してください」というメッセージが表示されます。

4

3 に答える 3

22

客観的な C スタイル

NSString *emailRegEx = @"[A-Z0-9a-z._%+-]+@[A-Za-z0-9.-]+\\.[A-Za-z]{2,10}";
NSPredicate *emailTest = [NSPredicate predicateWithFormat:@"SELF MATCHES %@", emailRegEx];

if ([emailTest evaluateWithObject:email.text] == NO) {

    UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"Test!" message:@"Please Enter Valid Email Address." delegate:nil cancelButtonTitle:@"OK" otherButtonTitles:nil];
    [alert show];
    [alert release];

    return;
}

迅速なスタイル

class func isValidEmail(emailString:String) -> Bool {

    let emailRegEx = "[A-Z0-9a-z._%+-]+@[A-Za-z0-9.-]+\\.[A-Za-z]{2,10}"
    var emailTest = NSPredicate(format:"SELF MATCHES %@", emailRegEx)

    let result = emailTest?.evaluateWithObject(emailString)
    return result!
}
于 2012-09-04T08:26:13.653 に答える
3

これは、NSPredicate を使用して行うことができます

//suppose emailID is your entered email address NSString
NSString *emailFormat1 = @"[A-Z0-9a-z._]+@[A-Za-z0-9]+\\.[A-Za-z]{2,4}";     


NSPredicate *emailTest1 = [NSPredicate predicateWithFormat:@"SELF MATCHES %@", emailFormat1]; 


if ([emailTest1 evaluateWithObject:emailID]||[emailTest2 evaluateWithObject:emailID]) {
   //yes it is valid
}
else
    //no it is invalid
于 2012-09-04T08:23:23.817 に答える