JavaScript URL 매개 변수 읽 기 개선 판
3756 단어 JavaScriptURL매개 변수
<script language="javascript" type="text/javascript">
function request(paras){
var url = location.href;
var paraString = url.substring(url.indexOf("?")+1,url.length).split("&");
var paraObj = {}
for (i=0; j=paraString[i]; i++){
paraObj[j.substring(0,j.indexOf("=")).toLowerCase()] = j.substring(j.indexOf("=")+1,j.length);
}
var returnValue = paraObj[paras.toLowerCase()];
if(typeof(returnValue)=="undefined"){
return "";
}else{
return returnValue;
}
}
//
var theurl
theurl=request("url");
if (theurl!=''){
location=theurl
}
</script>
다음은 정규 함수 가 자바 script 정규 로 url 링크 를 실현 하 는 분석 류 입 니 다.https://www.jb51.net/article/15000.htm 아래 코드 가 좀 복잡 합 니 다.한 대상 을 한꺼번에 되 돌려 주 는 장점 은 이 함 수 를 한 번 만 호출 하면 된다 는 것 이다.매개 변수 와 값 은 한 대상 에 존재 할 수 있 고 나중에 다른 매개 변수의 값 을 취하 면 이 함 수 를 다시 호출 하지 않 아 도 된다.대상 의 속성 만 취하 면 된다
* :
* var args = getArgs( ); // URL
* var q = args.q || ""; // , ,
* var n = args.n ? parseInt(args.n) : 10;
*/
var getArgs = function ()
{
var args = new Object( ); //
var query = window.location.search.substring(1); // , http://www.snowpeak.org/testjs.htm?a1=v1&a2=&a3=v3#anchor a1=v1&a2=&a3=v3。
var pairs = query.split("&"); // &
for(var i = 0; i < pairs.length; i++) {
var pos = pairs[i].indexOf('='); // "name=value"
if (pos == -1) continue; // ,
var argname = pairs[i].substring(0,pos); //
var value = pairs[i].substring(pos+1); //
value = decodeURIComponent(value); // ,
args[argname] = value; //
}
return args; //
}
그 두 드 러 진 장점 은 프로그램 이 추출 작업 을 한 번 만 수행 한 다음 에 인삼 수 치 를 반복 하면 더 이상 프로그램 을 실행 하지 않 아 도 된다 는 것 이다.URL 파 라미 터 를 찾 는 것 은 여전히 이렇게 비교적 간편 하고 이해 하기 쉽다.다음은 제 가 이전에 발표 한'순환 하지 않 아 도 돼'이지 만'너무 복잡 해'버 전 입 니 다
// URL 。 replace() , 。
// , ; , undefined。
var getArg = function(argname)
{
var str = location.href;
var submatch;
// URL , http://www.snowpeak.org/testjs.htm?a1=v1&a2=&a3=v3#anchor a1=v1&a2=&a3=v3。
// , \?; , #?
if (submatch = str.match(/\?([^#]*)#?/))
{
// a1=v1&a2=&a3=v3, & &a1=v1&a2=&a3=v3
var argstr = '&'+submatch[1];
// , &a1=v1 a1:"v1",
var returnPattern = function(str)
{
//$1 $2 1 2 ,
return str.replace(/&([^=]+)=([^&]*)/, '$1:"$2",');
}
// , , a1=v1&a2=&a3=v3 a1:"v1",a2:"",a3:"v3",
argstr = argstr.replace(/&([^=]+)=([^&]*)/g, returnPattern);
// , var retvalue = {a1:"v1",a2:"",a3:"v3"}; , , substr
eval('var retvalue = {'+argstr.substr(0, argstr.length-1)+'};');
// ,URL ,
return retvalue[argname];
}
}
//
document.write('a1='+getArg('a1')+', a2='+getArg('a2')+', a3='+getArg('a3'));
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
기초 정리 - 1문자 (String) 숫자 (Number) 불린 (Boolean) null undefined 심볼 (Symbol) 큰정수 (BigInt) 따옴표로 묶어 있어야 함 Not-A-Number - 숫자 데이터 / 숫자로 표...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.