在我的iPhone應用程序用戶可以輸入特定的IP地址/ URL來連接到他們自己的服務器,我試圖檢查輸入地址的有效性。因此,如果用戶輸入類似「1234」的內容,應用程序會發出錯誤信息,因爲它不會像「IP地址」或URL一樣「看起來」。 現在,我嘗試使用下面的方法來實現:iPhone SDK:如何檢查IP有效性?
- (BOOL)urlIsValid:(NSString *)address {
NSString *urlRegEx = @"(http|https)://((\\w)*|([0-9]*)|([-|_])*)+([\\.|/]((\\w)*|([0-9]*)|([-|_])*))+";
NSPredicate *urlTest = [NSPredicate predicateWithFormat:@"SELF MATCHES %@", urlRegEx];
return [urlTest evaluateWithObject:address];
}
它我還以爲是工作得很好,但現在顯然即使我輸入正確的IP地址的方法將返回「NO 」。 關於什麼可能是錯誤的任何想法? 在此先感謝!
並沒有真正提供任何幫助,因爲它沒有提供關於如何檢查輸入的IP地址符合一定的非標準任何文件... – Chris 2011-03-17 23:05:23
對不起。我沒有完全明白你剛纔所說的。你的意思是**某些標準的IP地址。你能否舉一個例子來表明你認爲有效和無效的內容。
我只是假設你想檢查服務器的存在 – 2011-03-17 23:15:28
那麼理論上用戶可以在提供的文本框中輸入任何東西作爲IP地址。因此用戶可以輸入完全隨機的內容,如「bla」或「$$」。在這種情況下,我需要一種方法來檢查輸入的文本是否實際上是IP地址的潛在候選者,然後我可以檢查地址後面是否有實際的服務器。我希望這更好理解。 – Chris 2011-03-17 23:34:01