本文原理是使用正则表达式匹配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")); 0; i < ; result.length; i ){
result[i].substring(1);
return result; QueryString パラメータ名に基づく value
function getQueryStringByName(name){
var result = location.search.match(new RegExp("[?&]" name "=([^&] )","i" ));
if(result == null || result.length 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);
結果を返す
}
テスト ページのパス: QueryStringDemo.html?id=5&type=1&flag=0
ページが読み込まれるとき:
対応する値を取得するための QueryString 名の後のテキスト ボックスに取得する QueryString の名前を入力します:
クエリ文字列の名前を入力します。 QueryStringのインデックスの後のテキストボックスに取得するQueryString 対応する値を取得するインデックス(インデックスは0から始まります):
このようにして、ページ内のQueryStringの値を簡単に取得することができます。最後に、テスト ページ QueryStringDemo.html のソース コードが添付されています:
コードをコピーします
コードは次のとおりです:
デモ コード www.jb51.net <ボディ>