2016-06-16 5 views
0

Я пытаюсь проверить, содержит ли url строку запроса или нет. Допустим, у нас есть эти два URL-адреса.Как проверить, содержит ли строка '?' используя javascript

http://localhost:3000/userbookings/list 

http://localhost:3000/userbookings/list?resource=de 

Моя строка называется FULLPATH, и мне нужно, чтобы проверить, если он содержит?, Так что я знаю, если его строку запроса или нет.

Пытались со следующим кодом:

if (fullPath.indexOf("?") > -1){ 
    content = fs-readFileSync('http://localhost:3000/userbookings/list1'); 
} 
else { 
    content = fs.readFileSync(fullPath); 
} 
+2

Вы уже делаете это правильно. – zerkms

+0

делает это «fullPath.indexOf («?")> -1" не сработало для вас? –

+0

Вы пробовали, но не работает? – MusicLovingIndianGirl

ответ

0

Как это:

if (str.indexOf("?") >= 0) 

Или

if (/\?/i.test(str)) 

Или

if(str.includes('?')) 

Обратите внимание: String.includes является функцией EcmaScript 6 и может не работать в некоторых браузерах.

+0

'?' является специальным символом в regex, поэтому в вашем втором ответе выше вы можете изменить это на/\?/i –

+0

Да, это работает –

+0

Обратите внимание, что 'String.includes' является функцией EcmaScript 6 и может не работать в некоторых браузеры. Вы можете посетить [этот сайт] (https://developer.mozilla.org/nl/docs/Web/JavaScript/Reference/Global_Objects/String/includes) для получения дополнительной информации и полиполнения. –

0

Ваш путь должен работать тоже, но если вы хотите в будущем использовать более сложные отборочные вы могли бы начать использовать регулярные выражения:

var pattern = /\?/g; 
var found = fullPath.match(pattern) != null; 
alert(found); 
0

это поможет вам:

<html> 
 
    <head> 
 
    </head> 
 
     <body> 
 
      <script> 
 
       var str = "this is ?text"; 
 
       var patt = /\?/gi; 
 
       if(str.search(patt)!=-1) 
 
        alert("Found"); 
 
       else 
 
        alert("No found"); 
 
      </script> 
 
     </body> 
 
     
 
    </html>

0

Я думаю, что ваша цель состоит в том, чтобы проверить, есть ли php get variable правильно?

if(document.localtion.search != "") { 
    // Your code 
} 

document.location.search будет "? Ресурс = де", если вы посетите URL

http://localhost:3000/userbookings/list?resource=de

И это будет "", если вы посетите URL

http://localhost:3000/userbookings/list

Ответ # 2

check = document.location.split("?"); 

    if(check.length > 1) { 
     //do your code 
    } 

раздел «http://localhost:3000/userbookings/list?resource=de url using«? » будет разделен на 2.

И раскол http://localhost:3000/userbookings/list url используя "?" Виль результат на 1.

Ответ # 3

check = fullpath.replace("?",""); 
if(check != fullpath) { 
    //do your code 
} 

Удаление "?" в полном пути. Если проверка совпадает с полным путем, то у нее нет «?»

Я думаю, что это может помочь вам. Не стесняйтесь прокомментировать

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