2020年3月20日 星期五

Check String is Email or Url


Mail check :



-(BOOL) NSStringIsValidEmail:(NSString *)checkString

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



Url check :

-(BOOL)isUrlString:(NSString *)checkStr

{
    NSCharacterSet *set = [NSCharacterSet URLQueryAllowedCharacterSet];

    /*
     for not en-us Character
     */

    NSString *urlStr = [checkStr stringByAddingPercentEncodingWithAllowedCharacters:set];

    NSURL *url = [NSURL URLWithString:urlStr]; //avoid get null

    if ((url && url.scheme && url.host) || (([[urlStr uppercaseString] hasPrefix:@"HTTP"] || [[urlStr uppercaseString] hasPrefix:@"HTTPS"]) && ![self NSStringIsValidEmail:urlStr]))

    {
        //string is url ...
        return YES;
    }
    return NO;
}

沒有留言:

張貼留言

《愛殺瑪莉/美國瑪麗》(American Mary, 2012)— 走投無路?那就下海賺黑錢吧!

  中文片名: 愛殺瑪莉 / 美國瑪麗 英文片名: American Mary 上映日期: 2012 劇情簡介: 瑪莉(Katharine Isabelle 飾)是一名醫學院的優秀學生,夢想成為一名外科醫生,但現實殘酷,學費壓力和教授的壓榨讓她陷入困境。走投無路的她偶然...