您的当前位置:首页正文

怎么用JavaScript获得url地址参数

2022-06-18 来源:好走旅游网


怎用JS获得参数

我们搞编程的,一般都会用服务器技术来获得地址中的参数.比如说JSP和ASPX都有自己的专门获得参数的方法.具体的我几不讲的.因为今天主要是讲如何在没有使用服务器技术和不方便使用服务器技术时如何获得地址栏中的参数.

我不搞什么\"飞机\"了,下面就是实现 JS 获取地址栏参数的代码.我在代码上写上了注释.如果还是无法理解的.也可以直接Copy(复制)过去使用.

/**

* 这个方法主要是通过切割 地址(URL)字符串

* 从而达到获取想要的参数.

*/

function getUrlParms() // 方法名字

{

var args = new Object(); // 声明并初始化一个 \"类\"(姑且叫类吧)

// 获得地址(URL)\"?\"后面的字符串.

var query = location.search.substring(1);

刘超

第 1 页

2022-3-9

var pairs=query.split(\"&\"); // 分割URL(别忘了'&'是用来连接下一个参数)

for(var i=0;i{

var pos=pairs[i].indexOf('=');

if(pos==-1) continue; // 它在找有等号的 数组[i]

var argname=pairs[i].substring(0,pos); // 参数名字

var value=pairs[i].substring(pos+1); // 参数值

// 以键值对的形式存放到\"args\"对象中

args[argname]=unescape(value);

}

// 这个不需要解释吧.除非你不懂什么叫做 键值对

creditId = parseInt(args['temp']);

alert(args['temp']); // 打印一下看看

刘超 第 2 页 2022-3-9

}

上面所示代码除注释外.非本人所写.但是经过测试无误. 上面的代码也是在工作中无意看到的.感觉很好.同时也想到了会对大家有用就献丑的拿了出来.或许大家中有些人可能会对我红色标注的函数不明白.所以我下面就解释一下.免的再去Baidu Or Google.

红色标注的解释:

1. location.search:window 对象下面的属性.可以获得\"?\"和\"?\"后面的字符串.

如果还是有人不明白,那么你可以alert()一下就明白了.

复制下面代码

起名叫做 demo.html

点击我

起名叫做 open.html

打开open.html 后 点击 超链接

随后就会弹出

呵呵 到了 这里 明白了吧.

2. substring: JavaScript 函数.用于截取字符串.

String.substring([从第几位开始],[到多少位之前])

刘超

第 4 页

2022-3-9

String.substring([从第几位开始一直截取到最后])

复制下面代码

起名可以随意

a b c d |

0 1 2 3 |字母对应的数字位置

打开网页后会弹出三次文本框

自己琢磨一下吧 呵呵.

刘超 第 6 页 2022-3-9

3. 键值对: 如果你学习了任何一项语言都应该知道这个词的含义.即[Key-Value].

意 为用一个[名字]代表一个[值].

在Java和C# 等等编程语言中.肯定会碰触到这个问题.但是你接触了JS之后就会发现它用法的与众不同.

因为它是 [弱类型] 的.所以它的 [键值对] 中的 [值] 可以是 字符串和整数,也可以是对象 甚至是一个 方法(function).

而最重要的是,在数组中 [索引]和[键值]可以共存.

观看下面代码

自己也可以复制一下看看效果,最好自己动手改改.以便更好的理会.

4. unescape: JavaScript 函数.

unescape() 函数可对通过 escape() 编码的字符串进行解码。

刘超 第 8 页 2022-3-9

unescape([字符串])

复制一下代码

起名可以随意

最后页面会这样显示

提示

刘超

第 9 页

2022-3-9

ECMAScript v3 已从标准中删除了 unescape() 函数,并反对使用它,因此应该用 decodeURI() 和 decodeURIComponent() 取而代之。

5. parseInt: JavaScript函数.把[字符串数字]转换成 整数型 的数字.

var num = parseInt(\"333\"); // 结果是 333

var num = parseInt(\"3s3s3\");// 结果是 3

var num = parseInt(\"ss\");// 结果是 NAN(不是数)

文章到此就要结束了.

文章说明:

个人所写,经验和阅历方面难免欠缺.如有纰漏.不吝赐教.

QQ : 756615797

Email: lc20808@163.com

日期: 2010-6-2 11:06 AM

刘超 第 10 页 2022-3-9

因篇幅问题不能全部显示,请点此查看更多更全内容