检查Uri是否以“http://”或“https://”开头

时间:2014-09-23 04:56:40

标签: android uri startswith

我正在检查一个字符串是否以" http://"或" https://"。我想添加" http://"在他们开始时他们不是。但是,

String str = "www.stackoverflow.com"
str = "http://" + str;

会导致

str = "http//stackoverflow.com"

":"在中间缺少。我该怎么办?

3 个答案:

答案 0 :(得分:2)

我使用“android.webkit.URLUtil”类来检查Url。但它有其自身的局限性。

我检测到它允许网址中的空格。

// if url contains http://

 if(url.contains("http://")){
    // Validate URL
    if (!URLUtil.isValidUrl(url)) {

        Toast.makeText(getActivity(),"Invalid URL specified", Toast.LENGTH_SHORT).show();

        return;

         }else{ 

         // Your URL is Ready   

        }                       
         }else{// if url does not contains http://

        url = "http://" + url;  //add it to yur url 

         // Validate URL
        if (!URLUtil.isValidUrl(url)) { 
         Toast.makeText(getActivity(),"Invalid URL specified", Toast.LENGTH_SHORT).show();
             return;
            }else{ 
                    // Your link is ready   

                    }               
        }

URLUtil at Android developer

Stack Over flow Answer how to validate a URL / website name in EditText in Android?

答案 1 :(得分:0)

if (URLUtil.isNetworkUrl(requestUrl)) {
           // it means url start with http or https
        }else{
      // do relevant action
     }

答案 2 :(得分:-1)

String str = "www.stackoverflow.com"
str = "http://" + str;

上述结果仅按预期产生,即" http://www.stackoverflow.com" 你能发布你的确切代码吗?