2012-03-28 44 views
0

我想對輸入做一些驗證檢查,我遇到了一些問題。 我需要能夠檢查輸入的URL是否有效,並返回它的布爾值。如果爲true,則允許將其分配爲myURL,否則它會給我JOptionPane消息並停止。這些將從輸入數據的字段中檢查。這是一個更大項目的一部分,因此歡迎和讚賞任何和所有的投入。我需要一種檢查URL的方式是有效的給定一個輸入

public String SetURL (String a) {  
if (ValidateURL(a)) { 
    myURL = a; 
} 
else { 
    JOptionPane.showMessageDialog (null, "Sorry the URL: " + SetURL() + " is an invalid URL", 
           "Incorrect Information", JOptionPane.INFORMATION_MESSAGE); 
} 

}

public Boolean ValidateURL() { 
//Some code here to check the validation and return a true of false 

}

+0

您首先必須決定/定義網址爲「有效」的含義 – 2012-03-28 14:34:17

回答

2

您需要同時創建URL對象和URLConnection對象。下面的代碼將測試的URL的格式和是否可以建立連接:

try { 
    URL url = new URL("http://www.yoursite.com/"); 
    URLConnection conn = url.openConnection(); 
    conn.connect(); 
} catch (MalformedURLException e) { 
    // the URL is not in a valid form 
} catch (IOException e) { 
    // the connection couldn't be established 
} 
你的情況

,漁獲會給你的JOptionPane信息並停止,甚至可以說,如果用戶是因爲它的格式不正確或不可用

+0

感謝您的驚人響應時間。用我的投入工作取代你的東西?如果這種格式如下所示? 嘗試{URL} url = new URL(a); URLConnection conn = url.openConnection(); conn.connect(); }趕上(MalformedURLException的E){// 的網址是不是一個有效形式 }趕上(IOException異常E){// 的連接不能建立 } – 2012-03-28 14:37:34

+0

沒有概率的,是的,它應該工作任何字符串:) – Real 2012-03-28 14:44:30

+0

我收到一個錯誤,指出它找不到符號URL.I早些時候嘗試了類似的解決方案,並且我也遇到了錯誤。 – 2012-03-28 14:49:41

0

您可以使用正則表達式和Java Matcher類。

這裏是一個很好的正則表達式:(http:(?![^"\s]*google)[^"\s]+)["\s]

here是匹配器的文檔。

+0

謝謝你的迴應,但我使用了上述方法。 – 2012-03-28 15:19:30

相關問題