http://www.mkyong.com/regular-expressions/how-to-validate-ip-address-with-regular-expression/(java正则式)
http://stackoverflow.com/questions/5154545/iphone-sdk-how-to-check-if-ip-entered-by-user-is-valid (URL验证)
在IOS中利用正则式则可以验证输入。下面是参考上面文章中java的正则式和URL验证写的。
有两种方法可以使用,希望能给其它需要的人一点参考。
一:利用NSPredicate
+ (BOOL)isValidatIP:(NSString *)ipAddress{ NSString *urlRegEx =@"^([01]?\\d\\d?|2[0-4]\\d|25[0-5])\\." "([01]?\\d\\d?|2[0-4]\\d|25[0-5])\\." "([01]?\\d\\d?|2[0-4]\\d|25[0-5])\\." "([01]?\\d\\d?|2[0-4]\\d|25[0-5])$"; NSPredicate *urlTest = [NSPredicate predicateWithFormat:@"SELF MATCHES %@", urlRegEx]; return [urlTest evaluateWithObject:ipAddress]; }
IP address that match: 1. “1.1.1.1″, “255.255.255.255″, ”192.168.1.1″ , 2. “10.10.1.1″, “132.254.111.10″, “26.10.2.10″, 3. “127.0.0.1″ IP address that doesn’t match: 1. “10.10.10″ – must have 4 “.” 2. “10.10″ – must have 4 “.” 3. “10″ – must have 4 “.” 4. “a.a.a.a” – only digit is allow 5. “10.0.0.a” – only digit is allow 6. “10.10.10.256″ – digit must between [0-255] 7. “222.222.2.999″ – digit must between [0-255] 8. “999.10.10.20″ – digit must between [0-255] 9. “2222.22.22.22″ – digit must between [0-255] 10. “22.2222.22.2″ – digit must between [0-255]
正则式判断有很多,没有一一验证,如果有需要,可参考下面文章中的正则式
http://blog.csdn.net/lioncredo/article/details/7628369
二 利用NSRegularExpression和NStextCheckingResult (下面用了别的网页代码,忘了出处了...)
+ (BOOL)isValidatIP:(NSString *)ipAddress{ NSString *urlRegEx =@"^([01]?\\d\\d?|2[0-4]\\d|25[0-5])\\." "([01]?\\d\\d?|2[0-4]\\d|25[0-5])\\." "([01]?\\d\\d?|2[0-4]\\d|25[0-5])\\." "([01]?\\d\\d?|2[0-4]\\d|25[0-5])$"; NSError *error; NSRegularExpression *regex = [NSRegularExpression regularExpressionWithPattern:urlRegEx options:0 error:&error]; if (regex != nil) { NSTextCheckingResult *firstMatch=[regex firstMatchInString:ipAddress options:0 range:NSMakeRange(0, [ipAddress length])]; if (firstMatch) { NSRange resultRange = [firstMatch rangeAtIndex:0]; NSString *result=[ipAddress substringWithRange:resultRange]; //输出结果 NSLog(@"%@",result); return YES; } } return NO; }