码迷,mamicode.com
首页 > 移动开发 > 详细

iOS 常用算法之设计一个算法,验证某字符是否为合法IPV4字符

时间:2019-07-17 20:36:18      阅读:177      评论:0      收藏:0      [点我收藏+]

标签:浅析   rate   sse   col   integer   address   算法   小数点   sub   

浅析 : 一个IPV4字符由3个大于0小于255的数字 以及 3个点构成, 所有我们需要判断小数点数量是否满足条件, 以及小数点隔开的每部分是否满足条件即可.

思路:

  1. 校验是否有3个小数点;

  2. 以小数点将字符分割为4部分,校验每部分的字符;

  3. 校验该部分转为int值之后(n), 满足0<n<255,而且首位字符不为0

代码如下:

  

 1 - (BOOL)verify: (NSString *)ipV4Address {
 2     __block BOOL _filter = YES;
 3     NSArray *array = [ipV4Address componentsSeparatedByString:@"."];
 4     if (array.count == 4) {
 5         [array enumerateObjectsUsingBlock:^(NSString *string, NSUInteger idx, BOOL * _Nonnull stop) {
 6             NSInteger intValue = [string intValue];
 7             if (intValue <= 0 || intValue >= 255) {
 8                 _filter = NO;
 9                 *stop = YES;
10             }
11             if ([[string substringWithRange:NSMakeRange(0, 1)] integerValue] == 0) {
12                 _filter = NO;
13                 *stop = YES;
14             }
15         }];
16     }else {
17         return NO;
18     }
19     return _filter;
20 }

 

iOS 常用算法之设计一个算法,验证某字符是否为合法IPV4字符

标签:浅析   rate   sse   col   integer   address   算法   小数点   sub   

原文地址:https://www.cnblogs.com/jgCho/p/11203344.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!