您的位置:首页 > 移动开发 > IOS开发

iOS 网址、链接、网页地址、下载链接等正则验证

2016-08-08 10:38 417 查看
/**

 * 网址正则验证 1或者2使用哪个都可以

 *

 *  @param string
要验证的字符串

 *

 *  @return 返回值类型为BOOL

 */

- (BOOL)urlValidation:(NSString *)string {

    NSError *error;

   
// 正则1

   
NSString *regulaStr =@"\\bhttps?://[a-zA-Z0-9\\-.]+(?::(\\d+))?(?:(?:/[a-zA-Z0-9\\-._?,'+\\&%$=~*!():@\\\\]*)+)?";

   
// 正则2

    regulaStr =@"((http[s]{0,1}|ftp)://[a-zA-Z0-9\\.\\-]+\\.([a-zA-Z]{2,4})(:\\d+)?(/[a-zA-Z0-9\\.\\-~!@#$%^&*+?:_/=<>]*)?)|(www.[a-zA-Z0-9\\.\\-]+\\.([a-zA-Z]{2,4})(:\\d+)?(/[a-zA-Z0-9\\.\\-~!@#$%^&*+?:_/=<>]*)?)";

   
NSRegularExpression *regex = [NSRegularExpressionregularExpressionWithPattern:regulaStr

                                                                          options:NSRegularExpressionCaseInsensitive

                                                                            error:&error];

    NSArray *arrayOfAllMatches = [regexmatchesInString:string
options:0range:NSMakeRange(0,
[stringlength])];

    

    for (NSTextCheckingResult *matchin
arrayOfAllMatches){

        NSString* substringForMatch = [stringsubstringWithRange:match.range];

         NSLog(@"匹配");

        returnYES;

    }

   
return NO;

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: