Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/url/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 我需要一种方法来检查一个URL是否有效给定一个输入_Java_Url_Pattern Matching - Fatal编程技术网

Java 我需要一种方法来检查一个URL是否有效给定一个输入

Java 我需要一种方法来检查一个URL是否有效给定一个输入,java,url,pattern-matching,Java,Url,Pattern Matching,我正在尝试对输入进行一些验证检查,我遇到了一些问题。 我需要能够检查输入的url是否有效,返回它的布尔值。如果为true,则允许将其指定为myURL,否则它将向我发送JOptionPane消息并停止。这些将从输入数据的字段中进行检查。这是一个更大项目的一部分,因此欢迎并感谢任何和所有的投入 public String SetURL (String a) { if (ValidateURL(a)) { myURL = a; } else { JOptionPane.showMess

我正在尝试对输入进行一些验证检查,我遇到了一些问题。 我需要能够检查输入的url是否有效,返回它的布尔值。如果为true,则允许将其指定为myURL,否则它将向我发送JOptionPane消息并停止。这些将从输入数据的字段中进行检查。这是一个更大项目的一部分,因此欢迎并感谢任何和所有的投入

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);
}
}


}

您需要创建
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
}

在您的情况下,catch将向您提供JOptionPane消息并停止,您甚至可以告诉用户这是因为格式不正确还是不可用

您需要创建
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
}

在您的情况下,catch将向您提供JOptionPane消息并停止,您甚至可以告诉用户这是因为它的格式不正确还是不可用

您可以使用regex和Java Matcher类

下面是一个好的正则表达式:
(http:(?![^”\s]*google)[^”\s]+)[“\s]


这是关于Matcher的文档。

您可以使用正则表达式和Java Matcher类

下面是一个好的正则表达式:
(http:(?![^”\s]*google)[^”\s]+)[“\s]


这是Matcher上的文档。

您首先必须决定/定义URL“有效”的含义。您首先必须决定/定义URL“有效”的含义感谢令人惊讶的响应时间。用我的输入替换你的站点是否有效?如果这个格式,像下面这样?请尝试{URL URL=new URL(a);URLConnection conn=URL.openConnection();conn.connect();}catch(MalformedURLException e){//URL的格式无效}catch(IOException e){//无法建立连接}我收到一个错误,说明它找不到符号URL。我之前尝试过类似的解决方案,但也遇到了一个错误。您是否使用eclipse?您应该检查是否导入了正确的包:import java.net.URL;导入java.net.URLConnection;我使用的是DrJava,我当然没有添加包!这就是为什么。不知道为什么我会想到要得到IO的包,而且格式不正确,但不是那样。。。现在一切都好了。尝试在一个单独的文件和工作的待遇!谢谢你的帮助!感谢您的回复时间。用我的输入替换你的站点是否有效?如果这个格式,像下面这样?请尝试{URL URL=new URL(a);URLConnection conn=URL.openConnection();conn.connect();}catch(MalformedURLException e){//URL的格式无效}catch(IOException e){//无法建立连接}我收到一个错误,说明它找不到符号URL。我之前尝试过类似的解决方案,但也遇到了一个错误。您是否使用eclipse?您应该检查是否导入了正确的包:import java.net.URL;导入java.net.URLConnection;我使用的是DrJava,我当然没有添加包!这就是为什么。不知道为什么我会想到要得到IO的包,而且格式不正确,但不是那样。。。现在一切都好了。尝试在一个单独的文件和工作的待遇!谢谢你的帮助!谢谢你的回复,我使用了上面的方法。谢谢你的回复,我使用了上面的方法。