Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/xcode/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Iphone 如何检查电子邮件地址是否已在UITEXTFILE中正确输入_Iphone_Xcode - Fatal编程技术网

Iphone 如何检查电子邮件地址是否已在UITEXTFILE中正确输入

Iphone 如何检查电子邮件地址是否已在UITEXTFILE中正确输入,iphone,xcode,Iphone,Xcode,可能重复: 我有一个应用程序,我想在其中获取用户的电子邮件地址作为输入。我想检查用户是否正确输入了电子邮件地址;like@应该在字段的文本中。我该怎么做 textField.text=@"ali@hotmail.com" 如果文本框有此值,则单击“确定”,否则它会提醒您电子邮件地址应该正确您可以使用regExp验证,如此函数 -(BOOL) isValidEmail:(NSString *)checkString { checkString = [checkString lowerc

可能重复:

我有一个应用程序,我想在其中获取用户的电子邮件地址作为输入。我想检查用户是否正确输入了电子邮件地址;like@应该在字段的文本中。我该怎么做

textField.text=@"ali@hotmail.com"

如果文本框有此值,则单击“确定”,否则它会提醒您电子邮件地址应该正确

您可以使用regExp验证,如此函数

-(BOOL) isValidEmail:(NSString *)checkString
{
    checkString = [checkString lowercaseString];
    BOOL stricterFilter = YES; 
    NSString *stricterFilterString = @"[A-Z0-9a-z._%+-]+@[A-Za-z0-9.-]+\\.[A-Za-z]{2,4}";
    NSString *laxString = @".+@.+\\.[A-Za-z]{2}[A-Za-z]*";

    NSString *emailRegex = stricterFilter ? stricterFilterString : laxString;
    NSPredicate *emailTest = [NSPredicate predicateWithFormat:@"SELF MATCHES %@", emailRegex];

    return [emailTest evaluateWithObject:checkString];
}
像这样使用它

if([self isValidEmail:textField.text])
   //Valid
else
   //Not valid, do the alert

您可以使用regExp验证,如以下函数

-(BOOL) isValidEmail:(NSString *)checkString
{
    checkString = [checkString lowercaseString];
    BOOL stricterFilter = YES; 
    NSString *stricterFilterString = @"[A-Z0-9a-z._%+-]+@[A-Za-z0-9.-]+\\.[A-Za-z]{2,4}";
    NSString *laxString = @".+@.+\\.[A-Za-z]{2}[A-Za-z]*";

    NSString *emailRegex = stricterFilter ? stricterFilterString : laxString;
    NSPredicate *emailTest = [NSPredicate predicateWithFormat:@"SELF MATCHES %@", emailRegex];

    return [emailTest evaluateWithObject:checkString];
}
像这样使用它

if([self isValidEmail:textField.text])
   //Valid
else
   //Not valid, do the alert

您可以使用以下方法:-

- (BOOL) validateEmail: (NSString *) candidate 
{
    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:candidate];
}

如果输入格式正确,该方法将返回
TRUE
,否则
FALSE

您可以使用以下方法:-

- (BOOL) validateEmail: (NSString *) candidate 
{
    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:candidate];
}
-(BOOL)isValidEmaill:(NSString*)in_EmailId
{
    if( (0 != [in_EmailId rangeOfString:@"@"].length) &&  (0 != [in_EmailId rangeOfString:@"."].length) )  
    {  
        NSMutableCharacterSet *invalidCharSet = [[[[NSCharacterSet alphanumericCharacterSet] invertedSet]mutableCopy]autorelease];  
        [invalidCharSet removeCharactersInString:@"_-"];  

        NSRange range1 = [in_EmailId rangeOfString:@"@" options:NSCaseInsensitiveSearch];  

        // If username part contains any character other than "."  "_" "-"  
        NSString *usernamePart = [in_EmailId substringToIndex:range1.location];  
        NSArray *stringsArray1 = [usernamePart componentsSeparatedByString:@"."];  
        for (NSString *string in stringsArray1) {  
            NSRange rangeOfInavlidChars=[string rangeOfCharacterFromSet: invalidCharSet];  
            if(rangeOfInavlidChars.length !=0 || [string isEqualToString:@""])  
                return NO;  
        }  

        NSString *domainPart = [in_EmailId substringFromIndex:range1.location+1];  
        NSArray *stringsArray2 = [domainPart componentsSeparatedByString:@"."];  

        for (NSString *string in stringsArray2) {  
            NSRange rangeOfInavlidChars=[string rangeOfCharacterFromSet:invalidCharSet];  

            if(rangeOfInavlidChars.length !=0 || [string isEqualToString:@""])  

                return NO;  
        }  

        return YES;  
    }  
    else // no '@' or '.' present  
    {
        //[mEmailAddrTextField becomeFirstResponder];
        return NO; 
    }
}
如果输入格式正确,该方法将返回
TRUE
,否则
FALSE

请尝试此操作

-(BOOL)isValidEmaill:(NSString*)in_EmailId
{
    if( (0 != [in_EmailId rangeOfString:@"@"].length) &&  (0 != [in_EmailId rangeOfString:@"."].length) )  
    {  
        NSMutableCharacterSet *invalidCharSet = [[[[NSCharacterSet alphanumericCharacterSet] invertedSet]mutableCopy]autorelease];  
        [invalidCharSet removeCharactersInString:@"_-"];  

        NSRange range1 = [in_EmailId rangeOfString:@"@" options:NSCaseInsensitiveSearch];  

        // If username part contains any character other than "."  "_" "-"  
        NSString *usernamePart = [in_EmailId substringToIndex:range1.location];  
        NSArray *stringsArray1 = [usernamePart componentsSeparatedByString:@"."];  
        for (NSString *string in stringsArray1) {  
            NSRange rangeOfInavlidChars=[string rangeOfCharacterFromSet: invalidCharSet];  
            if(rangeOfInavlidChars.length !=0 || [string isEqualToString:@""])  
                return NO;  
        }  

        NSString *domainPart = [in_EmailId substringFromIndex:range1.location+1];  
        NSArray *stringsArray2 = [domainPart componentsSeparatedByString:@"."];  

        for (NSString *string in stringsArray2) {  
            NSRange rangeOfInavlidChars=[string rangeOfCharacterFromSet:invalidCharSet];  

            if(rangeOfInavlidChars.length !=0 || [string isEqualToString:@""])  

                return NO;  
        }  

        return YES;  
    }  
    else // no '@' or '.' present  
    {
        //[mEmailAddrTextField becomeFirstResponder];
        return NO; 
    }
}
NSString *emailRegEx = @"[A-Z0-9a-z._%+-]+@[A-Za-z0-9.-]+\\.[A-Za-z]{2,4}"; 
    NSPredicate *emailTest = [NSPredicate predicateWithFormat:@"SELF MATCHES %@", emailRegEx]; 
    if  ([emailTest evaluateWithObject:m_CtrlTxtFld_Email.text] != YES && [m_CtrlTxtFld_Email.text length]!=0)
    {
        UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"Please enter valid email address" message:@"" delegate:self cancelButtonTitle:@"OK" otherButtonTitles:nil];
        [alert show];
        [alert release];
        return;
    }
试试这个

NSString *emailRegEx = @"[A-Z0-9a-z._%+-]+@[A-Za-z0-9.-]+\\.[A-Za-z]{2,4}"; 
    NSPredicate *emailTest = [NSPredicate predicateWithFormat:@"SELF MATCHES %@", emailRegEx]; 
    if  ([emailTest evaluateWithObject:m_CtrlTxtFld_Email.text] != YES && [m_CtrlTxtFld_Email.text length]!=0)
    {
        UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"Please enter valid email address" message:@"" delegate:self cancelButtonTitle:@"OK" otherButtonTitles:nil];
        [alert show];
        [alert release];
        return;
    }

所以不是个人serach助手,你需要在提问前搜索。也不是个人serach助手,你需要在提问前搜索。这对我来说很有效,直到新的域扩展生效。。。现在如何检查电子邮件地址?!在新的域扩展生效之前,这一直对我有效。。。现在如何检查电子邮件地址?!