js 로 QueryString 가 져 오 는 방법 소결

5821 단어 jsQueryString
이 글 의 원 리 는 정규 표현 식 을 사용 하여 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's name 뒤의 텍스트 상자 에 가 져 올 QueryString 의 이름 을 입력 하여 해당 하 는 값 을 가 져 옵 니 다: QueryString's index 후의 텍스트 상자 에 가 져 올 QueryString 의 인덱스 를 입력 하여 해당 하 는 값 을 가 져 옵 니 다.값(색인 은 0 부터): 이렇게 하면 페이지 에서 Query String 의 값 을 쉽게 얻 을 수 있 습 니 다.마지막 으로 테스트 페이지 Query StringDemo.html 의 소스 코드 를 첨부 합 니 다:
 
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta content="text/html; charset=gb2312" http-equiv="Content-Type" />
<title>QueryString www.jb51.net</title>
<script type="text/javascript">
// 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;
}
// , “ ”
//control:
//func:
function bindEnterEvent(control, func){
control.onkeypress = function(){
if (event.keyCode == 13){
func();
}
}
}
// QueryString
function getByName(){
var name = document.getElementById("txtQueryStringName").value;
document.getElementById("txtResult").innerHTML = getQueryStringByName(name);
}
// QueryString
function getByIndex(){
var index = document.getElementById("txtQueryStringIndex").value;
document.getElementById("txtResult").innerHTML = getQueryStringByIndex(index);
}
</script>
</head>
<body>
<div>
<span>QueryString : </span><span id="queryString"></span>
</div>
<div>
<span>QueryString's name :&nbsp;</span>
<input id="txtQueryStringName" name="txtQueryStringName" type="text" />
<input name="btnGetByName" type="button" value=" " onclick="getByName()" />
</div>
<div>
<span>QueryString's index : </span>
<input id="txtQueryStringIndex" name="txtQueryStringIndex" type="text" />
<input name="btnGetByIndex" type="button" value=" " onclick="getByIndex()" />
</div>
<div>
<span> :</span><span id="txtResult"></span>
</div>
<!-- -->
<script type="text/javascript">
// QueryString
document.getElementById("queryString").innerHTML = getQueryString();
// txtQueryStringName
bindEnterEvent(txtQueryStringName, getByName);
// txtQueryStringIndex
bindEnterEvent(txtQueryStringIndex, getByIndex);
</script>
</body>
</html>
pdf 버 전 다운로드 주소

좋은 웹페이지 즐겨찾기