2012-04-09 81 views
-1

到URL我有一個是接受來自用戶的URL輸入欄,我需要檢查斜線像這樣:添加斜線用JavaScript

  • www.example.com(加斜線)
  • www.exaple.com/(忽略)
  • www.example.com/index.php(忽略)

我怎麼可能在Javascript實現這一目標?

PS的.htaccess和PHP不是選項

+1

你嘗試過什麼?你在哪裏遇到麻煩?你是否至少讀過了各種'String'函數? [MDC在'String'上有一個體面的頁面](https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/String) – 2012-04-09 10:33:35

+0

這裏的問題是,我知道如何檢查是否有結束字符串(斜線在這種情況下)的問題是,我無法弄清楚如何檢查我是否需要將其添加或不依賴於連接 – Nick 2012-04-09 10:45:26

+0

你嘗試正則表達式來確定是否需要斜槓的結構? – JanD 2012-04-09 11:08:24

回答

1

試試這個 -

function URLFormat() { 
    var url = document.getElementById('inputURL').value; 
    var urlParts = url.split("/") 
    var result = ''; 
    for (i = 0; i < urlParts.length; i++) { 
     if (i == urlParts.length - 1) { 
      if (urlParts[i].indexOf('.') > -1) { 
       // trailing slash not required 
       result = url; 
      } 
      else { 
       if (urlParts[i].indexOf('#') > -1) { 
        // trailing slash not required 
        result = url; 
       } 
       else { 
        //Assume this is a folder and add a slash 
        result = url + '/'; 
       } 
      } 
     } 
    } 
    alert(result); 
} 
+0

機智稍加修改可以利用這一點,謝謝 – Nick 2012-04-18 13:50:15

+0

高興我能幫助你,但你可以修改後您需要做的?僅供我參考,如果有任何不正確的地方。 – AYK 2012-04-19 04:02:22

0
var input = "http://www.example.com"; 
var hasTrailingSlash = input.charAt(input.length - 1) === "/"; 
+0

這doesen't因爲這解決了第三個例子問題檢查會說我需要有一個斜線。 – Nick 2012-04-09 10:48:13

+0

怎麼樣我的有效gPlus鏈接'HTTP:// mydomain.com/+' – mplungjan 2012-04-09 11:27:29

0

試試這個

function func(url) { 
    var domain = url.split("/")[0]; 
    var answer; 
    if(url == domain){ 
     answer = url + "/"; 
    } else { 
     answer = url; 
    } 
    alert(answer); 
} 
+0

結尾的斜線與分裂消失,這將如何處理http://www.server.com/subfolder? – mplungjan 2012-04-09 11:58:33