本文原理是使用正则表达式匹配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의 소스코드가 첨부되어 있습니다.
코드를 복사하세요