[javascript] JavaScript를 통해 쿼리 문자열 값이 있는지 확인하는 방법은 무엇입니까?

q=JavaScript 또는 jQuery를 사용하여 쿼리 문자열에이 포함되어 있는지 어떻게 확인할 수 있습니까?



답변

var field = 'q';
var url = window.location.href;
if(url.indexOf('?' + field + '=') != -1)
    return true;
else if(url.indexOf('&' + field + '=') != -1)
    return true;
return false


답변

정규식을 사용할 수도 있습니다.

/[?&]q=/.test(location.search)


답변

사용 URL:

url = new URL(window.location.href);

if (url.searchParams.get('test')) {

}

편집 : 호환성에 대해 슬프다면 https://github.com/medialize/URI.js/를 적극 제안 합니다.


답변

귀하의 질문에 문자 그대로 대답하는 일반 자바 스크립트 코드 샘플 :

return location.search.indexOf('q=')>=0;

q 매개 변수가 존재하고 값이 있는지 확인하는 일반 자바 스크립트 코드 샘플 :

var queryString=location.search;
var params=queryString.substring(1).split('&');
for(var i=0; i<params.length; i++){
    var pair=params[i].split('=');
    if(decodeURIComponent(pair[0])=='q' && pair[1])
        return true;
}
return false;


답변

변형이 하나 더 있지만 Gumbos 솔루션과 거의 동일합니다.

var isDebug = function(){
    return window.location.href.search("[?&]debug=") != -1;
};


답변

이 함수는 JS의 URL에서 매개 변수를 가져 오는 데 도움이됩니다.

function getQuery(q) {
    return (window.location.search.match(new RegExp('[?&]' + q + '=([^&]+)')) || [, null])[1];
}


답변

이 시도

//field "search";
var pattern = /[?&]search=/;
var URL = location.search;

if(pattern.test(URL))
{
    alert("Found :)");
}else{
    alert("Not found!");
}

JSFiddle : https://jsfiddle.net/codemirror/zj4qyao2/