2016-03-04 1 views
-3

Так что я полностью переменную URL:Проверьте URL не имеет ничего после того, как второй «/» с помощью JavaScript/JQuery

www.whatever.com/something/pagename

мне нужно что-то произойдет на главной странице сайтов, а не на любой другой странице. Иногда на главной странице есть «что-то» в URL-адресе, а иногда нет, поэтому мне нужно выяснить, существует ли «pagename», каким бы оно ни было.

все значения в URL меняться, так что я не могу просто найти строку в URL ..

Это можно сделать, используя только JS/JQuery?

Благодаря

+0

Я не вижу никакого кода. [Что вы пробовали] (http://whathaveyoutried.com)? – zzzzBov

+1

Используйте 'str.split ('/')', чтобы разбить его на массив, затем вы можете получить доступ к элементам массива, чтобы найти конкретный компонент. – Barmar

+0

@Barmar - это может быть хорошей идеей, но как я могу найти ее, не зная ее размер, содержание или это второй или третий элемент в массиве? –

ответ

0

Сплит решение:

var exampleURL = "www.whatever.com/something/pagename"; 
var pageName = exampleURL.split("/")[2]; 

console.log(pageName); 
//OUT -> pagename 
+0

Изменил «2» на «4», и он сработал! благодаря! –

+0

Если работает с 4, потому что есть 'http: //', у которых есть 2 дополнительных слэша :) –

0

Вы можете сделать проверку регулярных выражений:

/^[^\/\s]*(\/\/)?[^\/\s]+\/[^\/\s]+[^\/]+\/[^\/\s]+$/.test('www.whatever.com/something/pagename') 

демо: https://regex101.com/r/vF1bH8/1

1

Разделить URL, а затем проверить длина результата.

var split_url = url.split('/'); 
if (split_url.length > 2) { 
    // URL is like www.whatever.com/something/pagename... 
} else { 
    // URL is just www.whatever.com or www.whatever.com/something 
} 

Другой способ с регулярным выражением, которое соответствует URL с двумя косыми чертами:

if (url.match(/\/.*\//)) { 
    // URL contains two slashes 
} else { 
    // URL has at most one slash 
} 
0

Вопрос не совсем ясно, но ответить на титул буквально https://jsfiddle.net/jgfeymk1/

function after2ndFSlash(inpu){ 
var pieces = inpu.split('/'); 
var output = document.getElementById('output'); 
    if(pieces.length>2){ 
    output.innerHTML += 'true<br/>'; 
    } 
    else{ 
    output.innerHTML += 'false<br/>'; 
    } 
} 
0

Предполагая, что строка url содержит протокол ... http(s):// ... вы можете передать его в href элемента <a> и получить доступ к имени пути p roperty

var url ='http://www.whatever.com/something/pagename' 

var a = document.createElement('a'); 
    a.href = url; 

var pathParts = a.pathname.replace(/^\//,'').split('/');//["something","pagename"] 
alert(pathParts[1]); //"pagename" 

 Смежные вопросы

  • Нет связанных вопросов^_^