2014-10-18 43 views
0

我需要驗證一個字符串不能包含多於1個URL。字符串的最大長度可能爲500個字符。有沒有任何有效的方法來計算網址的數量和時間複雜度較低? 謝謝。jQuery的URL驗證數

這就是我目前的嘗試:

var count = 0; 
var urlArray = urlstring.split(" "); 

$.each(urlArray, function(i, val) { 
    if(val != "") { 
     var flag = val.match(/^((http|https):\/\/(\w+:{0,1}\w*@)?(\S+)|)(:[0-9]+)?(\/|\/([\w#!:.?+=‌​&%@!\-\/]))?$/); 

     if(flag) { 
      count++; 
     } 
    } 
}); 
+1

* '字符串的最小長度可以爲500' * - 你的意思是最大的,對不對? – George 2014-10-18 17:36:18

+0

是的,最多可以500個字符。 – DeveloperD 2014-10-18 17:38:40

+0

[** String.length **](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/length) – George 2014-10-18 17:41:16

回答

1

解決方案:

function countNumberOfUrl(urlstring) 
{ 
    var number = 0; 
    var count = urlstring.match(/\http:|https:/g).length; 
    if(count) 
    { 
    number = count; 
    } 
    return number; 
}