>  기사  >  웹 프론트엔드  >  js_javascript 기술을 사용하여 QueryString을 얻는 방법 요약

js_javascript 기술을 사용하여 QueryString을 얻는 방법 요약

WBOY
WBOY원래의
2016-05-16 18:33:411417검색

本文原理是使用正则表达式匹配location.search中的字符串。其中三个主要函数为 getQueryString()、getQueryStringByName(name)和getQueryStringByIndex(index)

三个主要方法:

方法

说明

getQueryString

获取QueryString的数组。

例如路径QueryStringDemo.html?id=5&type=1&flag=0

调用后返回["id=5", "type=1", "flag=0"]

getQueryStringByName

根据QueryString参数名称获取值

getQueryStringByIndex

根据QueryString参数索引获取值

코드 복사 코드는 다음과 같습니다.

//QueryString 배열 가져오기
function getQueryString (){
var result = location.search.match(new RegExp("[?&][^?&] =[^?&] ","g"))
for(var i = 0; i < ; result.length; i ){
result[i] = result[i].substring(1)
return result; QueryString 매개변수 이름 값 기반
function getQueryStringByName(name){
var result = location.search.match(new RegExp("[?&]" name "=([^&] )","i" )); if(result == null || result.length < 1){
return "";
return result[1]
}
/ /QueryString 매개변수 인덱스에 따라 값 가져오기
function getQueryStringByIndex(index){
if(index == null){
return "";
var queryStringList = getQueryString()
if (index > ;= queryStringList.length){
return "";
}
var result = queryStringList[index]
var startIndex = result.indexOf("=") 1 ;
result = result.substring(startIndex);
return result;
}


테스트 페이지 경로: QueryStringDemo.html?id=5&type=1&flag=0
페이지가 로드될 때:


얻을 QueryString의 이름을 QueryString 이름 뒤의 텍스트 상자에 입력하여 해당 값을 얻으십시오.


얻을 QueryString의 이름을 입력하십시오. QueryString의 인덱스 Index 뒤의 텍스트 상자에서 얻어오는 QueryString 해당 값을 얻기 위한 것(인덱스는 0부터 시작):

이런 방법으로 페이지에서 QueryString의 값을 쉽게 얻을 수 있습니다. 마지막으로 테스트 페이지 QueryStringDemo.html의 소스코드가 첨부되어 있습니다.


코드를 복사하세요

코드는 다음과 같습니다.




데모 코드를 가져오는 QueryString www.jb51.net


< body>

QueryString: ;div>
QueryString 이름:
< 입력 id="txtQueryStringName" name="txtQueryStringName" type="text" /> "btnGetByName" type="button" value="Get" onclick="getByName()" />


QueryString의 인덱스: < /span>




/ span>







PDF 버전 다운로드 주소
성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.