2017-09-21 5 views
0

Ich habe JavaScript-Funktion zu URL und Hyperlink zuordnen, um Menüelemente hervorzuheben, aber ich kann dies nicht in tiefer Seite mit URL letzten Segment kommen mit Nummer, die eine URL aussieht: http://localhost/story/89Javascript entfernen Url letzten Segment, wenn gefunden ist numerisch

ich mag das letzte uRL-Segment zu entfernen, wenn es dich um eine Zahl ist, so wird die uRL http://localhost/story am Ende (Streifen / als auch).

/* highlight nav menu */ 
$(function(){ 
    $('#topMain li a').each(function(index) { 
     if($.trim(this.href) == stripQueryStringAndHashFromPath(window.location.href)) { 
      $(this).closest('li').addClass('active') 
      .closest('li.parent').addClass('active'); 
     } 
    }); 
}); 

function stripQueryStringAndHashFromPath(url) { 
    return url.split("?")[0].split("#")[0]; 
} 
+0

Was ist Ihr Punkt dabei? – PHPglue

Antwort

1

können Sie reguläre Ausdrücke Parameter in split() geben.

Fügen Sie einfach .split(/(\/\d*)$/)[0] am Ende url.split("?")[0].split("#")[0] in Ihrer stripQueryStringAndHashFromPath Funktion hinzu.

Das neue Segment der regulären Ausdruck grundsätzlich für einen umgekehrten Schrägstrich-Suche (\/), die von einer oder mehreren Ziffern gefolgt wird (\d*), die am Ende ($) einer Zeichenfolge angeordnet ist.

Mehr über den regulären Ausdruck here.

function stripQueryStringAndHashFromPath(url) { 
 
    url = url.split('?')[0].split('#')[0].split(/(\/\d*)$/)[0]; 
 
    return url; 
 
} 
 

 
console.log(stripQueryStringAndHashFromPath('http://localhost/story/89'));

0
function validateURL(url){ let lastSegment = url.split("/"); 
     if(lastSegment[(lastSegment.length)-1].match(/^[0-9]$/)) 
      console.log("True Last Segmant"); 
     } 
    validateURL("http://localhost/demo/8") 

function stripQueryStringAndHashFromPath(url) { 
 
    url = url.split('?')[0].split('#')[0].split(/(\/\d*)$/)[0]; 
 
    return url; 
 
} 
 

 
console.log(stripQueryStringAndHashFromPath('http://localhost/story/89'));

0

Funktion validateURL (url) {lassen lastSegment = url.split ("/"); if (lastSegment [(lastSegment. Länge) -1] .match (/^[0-9] $ /)) console.log ("True Last Segmant"); } validateURL ("http://localhost/demo/8");

+0

Für die Validierung des letzten Segments können Sie den folgenden Code verwenden:

Verwandte Themen