iPhone SDK:如何检查用户输入的IP是否有效?

2024-01-29

我的 iPhone 应用程序包含多个对服务器的 http 请求。服务器的IP地址可以由用户输入,这样您就可以将应用程序与您自己的私人服务器结合使用。

在发出请求之前,我总是检查输入的 IP 地址是否有效,我这样做:

-(BOOL)urlExists {

NSString *url = [NSString stringWithFormat:@"%@", ipAddress];
NSURLRequest *myRequest1 = [NSURLRequest requestWithURL:[NSURL URLWithString:url] cachePolicy:NSURLRequestUseProtocolCachePolicy timeoutInterval:5.0];
NSHTTPURLResponse* response = nil;
NSError* error = nil;
[NSURLConnection sendSynchronousRequest:myRequest1 returningResponse:&response error:&error];
if ([response statusCode] == 404){
    return NO;

}
else{
    return YES;
}

[url release];
[response release];
[error release];
[myRequest1 release];

}

只要输入的地址看起来像这样:xx.xx.xxx.xxx,就可以完美地工作 但是,如果您尝试输入类似“1234”或“test”的内容,则上面显示的代码将不起作用。所以我必须以某种方式检查输入的地址是否“看起来”像 IP 地址,但我不知道如何执行此操作。

任何建议将不胜感激!


您可以通过以下方法检查网址有效性:

- (BOOL) validateUrl: (NSString *) candidate {
    NSString *urlRegEx =
    @"(http|https)://((\\w)*|([0-9]*)|([-|_])*)+([\\.|/]((\\w)*|([0-9]*)|([-|_])*))+";
    NSPredicate *urlTest = [NSPredicate predicateWithFormat:@"SELF MATCHES %@", urlRegEx]; 
    return [urlTest evaluateWithObject:candidate];
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

iPhone SDK:如何检查用户输入的IP是否有效? 的相关文章

  • 如何在 Core Data 中存储图像?

    只是猜测 我创建一个属性并将其类型设置为 二进制 但最终我该如何使用它呢 我猜幕后有一个 NSData 那么该属性实际上采用 NSData 吗 这个问题已经被问过很多次了 答案有点复杂 当涉及二进制数据时 您应该根据要使用的数据的预期大小来
  • 如何将 NSDecimal 值转换为 NSInteger 值?

    我遇到一种情况 我得到一个 NSDecimal 并且我需要一个 NSInteger 我确实知道这是一个非常小的值 这是绝对肯定的 它不会大于 100 所以将它转换为 NSInteger 就完全没问题 不会发生溢出 这怎么可能做到呢 NSDe
  • Parse.com 从相关 PFObject 获取 PFUser

    我正在将照片保存为 PFObject 解析 并使用 PFUser currentUser 用户 ID 作为其键之一 我想在表格视图中显示照片以及该 PFUser 的详细信息 但是当我尝试获取用户时 PFUser user self phot
  • 如何知道我的应用程序使用了多少 iCloud 空间?

    有没有办法查看我的应用程序正在备份到 iCloud 的内容以及它消耗了多少内存 Settings gt iCloud gt Storage Backup gt Manage Storage将显示正在备份的总计内容 iOS 会备份位于应用程序
  • 如何获取CATransition/Animation的结束事件?

    我的代码如下所示 CATransition transition CATransition animation transition duration duration 我希望得到CATransition Animation的结束事件 是否
  • 在 iOS 上将 NSString 转换为 NSDate 的正确方法?

    我一直在使用此方法将常规 NSString 对象转换为 NSDate 但尝试向 Apple 提交更新 但遭到拒绝 在 iOS 中还有什么其他方法可以做到这一点 NSString date str 2011 08 12T12 20 00Z N
  • 覆盖层不与 UITableView 一起滚动 - iOS

    我有一个 UITableView 类 它使用以下方法在转到下一个屏幕时调用加载覆盖 问题是这个加载屏幕不随列表滚动 所以如果你滚动一点并单击某些东西 加载屏幕不会显示 因为它位于顶部 如何让加载屏幕始终保持在 UITableView 的顶部
  • 忽略触摸事件,让其下面的视图处理触摸?

    我有一个用户可以触摸的可拖动视图 但它的某些矩形将没有图像 alpha 0 当用户单击透明区域时 我能够在没有 alpha 信息的情况下构造透明区域 我希望透明区域下方的视图 同一类 来检测触摸 我的策略是当用户触摸透明区域时让视图忽略触摸
  • 在 Objective C 的类方法中引用类本身

    我希望我没有跳过 ObjC 手册中的这一部分 但是是否可以从类的一个类方法中引用该类 就像在 PHP 中一样 您将使用 this 来引用当前实例 而 self 引用实例的类 this 的 ObjC 等价物将是 self 那么 PHP 的 s
  • 推送动画,没有阴影和停电

    我有一个简单的iOS NavigationController基于应用程序 二UICollectionViews 相继 如果元素打开 第一个合集 被点击时 第二集 将被打开 非常简单 重要的提示 Both UICollectionViews
  • AVAssetExportSession 为零 iPhone 7 - Plus 模拟器

    AVAssetExportSession在 iPhone 6 及以下版本上运行良好 但在 iPhone 7 iPhone 7 Plus 模拟器上运行不佳 Xcode 8 0 这段代码return nil在exportSession中 当在i
  • UIView晃动动画

    我试图在按下按钮时使 UIView 摇动 我正在调整我找到的代码http www cimgf com 2008 02 27 core animation tutorial window shake effect http www cimgf
  • 在发生更改事件时将货币格式重新应用到 UITextField

    我正在使用一个包含本地化货币值的 UITextField 我看过很多关于如何使用此功能的帖子 但我的问题是 如何在每次按键后将货币格式重新应用到 UITextField 我知道我可以通过以下方式设置和使用货币格式化程序 NSNumberFo
  • 如何在 NSTextView 中使用 SPACE 而不是 TAB

    我只知道如何修改 NSTextView 中的制表符宽度 NSMutableParagraphStyle paragraphStyle self defaultParagraphStyle mutableCopy paragraphStyle
  • 在 iOS 7 中 viewForHeaderInSection 部分是从 1 开始而不是从 0 开始

    我正在处理UITableView在我的项目中 这个项目是在 Xcode 4 5 中创建的 现在我正在使用 Xcode 5 所以我的问题是何时在 iOS 6 中运行我的项目 viewForHeaderInSection方法部分从 0 开始没问
  • 在 Objective-C 中的 Swift 类上调用 NSStringFromClass 返回模块损坏的名称

    我知道这个问题 https stackoverflow com questions 24107658 get a user readable version of the class name in swift in objc nsstri
  • 诊断和仪器均缺少“僵尸”选项

    运行 Xcode 4 0 2 Zombie 选项丢失 其他 SO 帖子建议找到它的两个地方 Product gt Run looks like this Product gt Profile looks like this 奇怪的是 我之前
  • iPhone 上的语音识别

    我需要开发一个识别语音的 iPhone 应用程序 并根据结果执行进一步的任务 我知道iPhone 3 0不支持语音识别 我需要在服务器端实现语音识别软件 我只知道这个事情 因为我是新手 所以我不知道如何处理 意味着我需要购买哪些软件并在服务
  • iphone sqlite 静态链接?

    有人静态链接 sqlite 而不是使用动态链接 吗 我遇到的问题是 越狱手机的用户没有与普通 iPhone 所采用的 sqlite 版本相同的版本 因此导致崩溃 我假设在我的应用程序中静态链接已知版本的 sqlite 就是答案 我需要全文支
  • 节拍匹配算法

    我最近开始尝试创建一个移动应用程序 iOS Android 它将自动击败比赛 http en wikipedia org wiki Beatmatching http en wikipedia org wiki Beatmatching 两

随机推荐

  • 是否可以使用 mod_rewrite htaccess 将 url 从名称重写为 id。

    如果我有一个网址http www domain com listing php company id 1我可以将其重写为http www domain com company name使用该 id 从数据库中提取名称 或者我是否必须更改li
  • ASP.NET MVC:构建控制器

    所以我正在着手ASP NET MVC虽然整体体验不错 但我对我的控制器变得像意大利面条一样乱七八糟不太满意 我在网上查看过 CodeCampServer 等 它们似乎都遇到了同样的问题 其中控制器方法非常一致地违反了 SRP 单一责任原则
  • RichFaces 中的服务器端数据表排序

    我有一个包含可变数量列和数据滚动器的数据表 如何启用服务器端排序 我更喜欢由用户单击列标题来触发它
  • 自定义进度条小部件

    我正在尝试做类似的事情this https stackoverflow com questions 3682021 uislider with certain possible values但在安卓中 在Android中我可以扩展Progr
  • Bootstrap CSS/HTML 背景图像调整大小

    当我调整浏览器大小时使用引导程序 背景中的图片会缩小 而背景颜色不会缩小 以下是包含 HTML 代码的网站链接 http code Differently com crest html http codedifferently com cr
  • 如何使 python urllib2 遵循重定向并保留 post 方法

    我正在使用 urllib2 将数据发布到表单 问题是表单回复了 302 重定向 根据Python HTTPRedirectHandler http docs python org library urllib2 html urllib2 H
  • SQLite.Interop 无法删除干净的文件解决方案

    我正在使用 Nuget 包System Data SQLite在 MVC Web 应用程序中 当我尝试清理解决方案并重建时 似乎存在锁定问题 我收到的错误消息是 Unable to delete file bin x64 SQLite In
  • Terraform:在 EKS/ECS 上部署 Docker Compose 应用程序

    TL DR 我使用开源服务器应用程序在 Docker Compose 上运行 它有一些服务 包括 PostgreSQL DB 和 Redis 如何使用 Terraform 以完整的 IaC 方式最好地将此应用程序部署到 AWS 到目前为止的
  • 如何在没有 EventMessageFile 的情况下读取 Windows 事件日志?

    我有读取 Windows 事件日志的代码 它使用 OpenEventLog ReadEventLog 并获取事件源和事件 ID 然后它在下面查找源 HKEY LOCAL MACHINE SYSTEM CurrentControlSet Se
  • 如何从 NSApplication 事件循环中启动 Go 的 main 函数?

    我正在尝试添加Sparkle https sparkle project org进入我的 Qt Go 的绑定 https github com therecipe qt 应用程序使其可以自动更新 问题 运行最新版本时没有弹出对话框 http
  • Ansible 随机 UUID 生成

    在我的 Ansible 脚本中 我想动态生成 UUID 并稍后使用它们 这是我的方法 shell echo uuidgen with sequence count 5 register uuid list uri url http www
  • PHP sprintf 转义%

    我想要以下输出 即将从您的充值账户中扣除 27 59 欧元的 50 当我做这样的事情时 variablesArray 0 variablesArray 1 27 59 stringWithVariables About to deduct
  • 如何在 QEMU 中模拟 TrustZone?

    我正在尝试在 Qemu 中模拟 TrustZone 功能 我发现两个链接似乎解释了这个过程 第一个参考 http www linaro org blog core dump arm trustzone qemu 未附加支持 TrustZon
  • 关于函数调用堆栈的困惑

    根据维基百科 调用者将返回地址压入堆栈 而被调用者 子例程完成后 从调用中弹出返回地址 堆栈并将控制权转移到该地址 图片来自维基 我不太明白这一点 假设我有一个 C 程序如下 include
  • 将十六进制值的行垂直按列转换为二进制

    我正在处理来自串行设备的数据 该设备以非常有趣的格式输出数据 该设备有一个 256x256 的像素阵列 而每个像素都有一个14 bit值 用移位寄存器读出 为了显示格式 我将对其进行说明 就像每个像素都有一个6 bit value Pixe
  • VBA - 导入带有特殊字符的bas模块

    我已经为 excel 模块 bas frx 和 frm 文件 实现了自动导入 版本控制 因此客户将始终获得最新版本的 VBA 脚本 解决方案是这样的 vba 脚本 在 Workbook Open 上 检查 github 存储库版本号是否相等
  • 如何一起使用 requireJS 和 jQuery?

    我想使用 requireJS 并且我正在使用 jQuery 我不想使用 requireJS 和 jQuery 的组合版本 因为我没有使用最新的 jQuery 版本 使用 requireJS 的最佳方式是什么 这也是我的确切问题 我还必须使用
  • 如何确定 Wix 中是否存在注册表项

    我想确定 Wix 中是否存在注册表项 我无法对该键中的值名称做出任何假设 但至少存在一个 未设置默认值 是否可以在不使用自定义操作的情况下检查密钥是否存在 以及可选地 是否有任何值 看看注册表搜索 使用样本
  • 在 VB.NET 中创建一个新线程

    我正在尝试使用匿名函数创建一个新线程 但我不断收到错误 这是我的代码 New Thread Function Do something here End Function Start 以下是我得到的错误 New 语法错误 结束功能 结束函数
  • iPhone SDK:如何检查用户输入的IP是否有效?

    我的 iPhone 应用程序包含多个对服务器的 http 请求 服务器的IP地址可以由用户输入 这样您就可以将应用程序与您自己的私人服务器结合使用 在发出请求之前 我总是检查输入的 IP 地址是否有效 我这样做 BOOL urlExists