iphone - 有没有办法让文本字段条目必须是电子邮件? (在 xcode 中)

标签 iphone mysql objective-c xcode ios4

我想制作一个用户登录表单,它需要使用电子邮件而不仅仅是用户名。如果不是电子邮件,有什么方法可以弹出警报吗?顺便说一句,所有这些都在 xcode 中。

最佳答案

有一种方法可以使用 NSPredicateregular expression :

- (BOOL)validateEmail:(NSString *)emailStr {
    NSString *emailRegex = @"[A-Z0-9a-z._%+-]+@[A-Za-z0-9.-]+\\.[A-Za-z]{2,4}";
    NSPredicate *emailTest = [NSPredicate predicateWithFormat:@"SELF MATCHES %@", emailRegex];
    return [emailTest evaluateWithObject:emailStr];
}

然后,如果电子邮件地址错误,您可以显示警报:

- (void)checkEmailAndDisplayAlert {
    if(![self validateEmail:[aTextField text]]) {
        // user entered invalid email address
        UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"Error" message:@"Enter a valid email address." delegate:self cancelButtonTitle:nil otherButtonTitles:@"OK", nil];
        [alert show];
        [alert release];
    } else {
        // user entered valid email address
    }
}

关于iphone - 有没有办法让文本字段条目必须是电子邮件? (在 xcode 中),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7123667/

相关文章:

iphone - 如何从 UITableViewCell 获取 UITableView?

MySQL 触发器 STR_TO_DATE(NEW.invoice_date, '%d/%m/%Y')

php - 在 MySQL 中添加日期周的索引

ios - 渐变动画——减速和加速

iphone - 我们可以隐藏iPhone 5(苹果) map 中的法律文本吗?

javascript - 如何加载 .js 文件 UIWebView

mysql - 对两个表的并集结果进行分页

ios - 为什么 Tesseract OCR 库(iOS)根本无法识别文本?

ios - 以编程方式进行模态推送 segue — Objective-c

iphone - 通过调用CFRelease与使用CGColorSpaceRelease释放CGColorSpaceRef的区别?