2016-04-01 12 views
0

私は電子メールの検証に次のコードを使用しています。電子メールIDが数字で始まり、それが受け入れられない場合は、[email protected]のように受け入れたいと思います。私を提案してください。 @Peteshも言及されたよう - 事前に番号で始まる電子メールIDは受け入れられません

BOOL stricterFilter = NO; 
NSString *stricterFilterString = @"^[A-Z0-9a-z\\._%+-][email protected]([A-Za-z0-9-]+\\.)+[A-Za-z]{2,4}$"; 
NSString *laxString = @"^[email protected]([A-Za-z0-9-]+\\.)+[A-Za-z]{2}[A-Za-z]*$"; 
NSString *emailRegex = stricterFilter ? stricterFilterString : laxString; 
NSPredicate *emailTest = [NSPredicate predicateWithFormat:@"SELF MATCHES %@", emailRegex]; 
return [emailTest evaluateWithObject:emailID]; 

おかげ

+0

すでにうまく動作しています。もう一度チェックしてください – Buntylm

+0

私は[email protected]をチェックしています。それは私の答えと一緒に働いています。 – kb920

+0

また、彼の答えも同様に – Buntylm

答えて

0
NSString *[email protected]"[A-Z0-9a-z._%+-][email protected][A-Za-z0-9.-]+\\.[A-Za-z]{2,4}"; 
NSPredicate *mailtest=[NSPredicate predicateWithFormat:@"SELF MATCHES %@",mailreg]; 
[mailtest evaluateWithObject:checkString] 

は、ここでは、この

0

は私の観察である、チェックはあなたがそのそれを正しく検証しない理由ですホワイトスペースを追加しているかもしれ試してみてくださいコメント - 素晴らしい説明の男。

-(BOOL)validate:(NSString *)emailID { 
    BOOL stricterFilter = YES; 
    NSString *stricterFilterString = @"^[A-Z0-9a-z\\._%+-][email protected]([A-Za-z0-9-]+\\.)+[A-Za-z]{2,4}$"; 
    NSString *laxString = @"^[email protected]([A-Za-z0-9-]+\\.)+[A-Za-z]{2}[A-Za-z]*$"; 
    NSString *emailRegex = stricterFilter ? stricterFilterString : laxString; 
    NSPredicate *emailTest = [NSPredicate predicateWithFormat:@"SELF MATCHES %@", emailRegex]; 
    return [emailTest evaluateWithObject:emailID]; 
} 

-(void)validateEmails { 
    if ([self validate:@" [email protected]"] == true) { 
     NSLog(@"true"); 
    } else { 
     NSLog(@"false"); //Result 
    } 

    if ([self validate:@"[email protected]"] == true) { 
     NSLog(@"true"); //Result 
    } else { 
     NSLog(@"false"); 
    } 

    if ([self validate:@"[email protected]"] == true) { 
     NSLog(@"true"); //Result 
    } else { 
     NSLog(@"false"); 
    } 

    if ([self validate:@"[email protected]"] == true) { 
     NSLog(@"true"); 
    } else { 
     NSLog(@"false"); //Result 
    } 
} 
関連する問題