检查 url 字符串中的重复值

Check for duplicate val in url string

我有 url 字符串,我想知道它是否多次包含类似端口的重复项,例如在这种情况下,54001 或 77777 是否存在不止一次? 我有 lo-dash 和下划线 js

http://gr-t6fa45e73.go.grp.corp:54001/oauth/authorize?response_type=code&redirect_uri=http%3A%2F%2Fro-d3ma32e85.mo.grp.corp%3A77777%2Flogin%2Fcallback&client_id=zs6.node&test=54001

是这样的吗?这个纯 JS 函数尝试搜索与 url 端口

匹配的 url 参数

function search() {
    var url = unescape(document.getElementById("url").innerHTML); 
    var patternPort = /:\d+/g;    
    var ports = url.match(patternPort);

    for (i=0; i<ports.length; i++){
       var patternParam= new RegExp("=" + ports[i].substr(1), 'g');
       if(url.match(patternParam)){
          alert(ports[i].substr(1) + " is repeated");
       }
    }        
}
<pre id="url">http://gr-t6fa45e73.go.grp.corp:54001/oauth/authorize?response_type=code&redirect_uri=http%3A%2F%2Fro-d3ma32e85.mo.grp.corp%3A77777%2Flogin%2Fcallback&client_id=zs6.node&test=54001</pre>
<button onclick="search()">Search repeated ports on params</button>