How do I parse an URL with JavaScript (also with jQuery)?

比如我把这个放在我的绳子里,

url = "http://example.com/form_image_edit.php?img_id=33"

I want to get the value of img_id

I know I can do this easily with PHP with parse_url(), but I want to know how it is possible with JavaScript.

推荐答案

You can use a trick of creating an a-element, add the url to it, and then use its Location object.

function parseUrl( url ) {
    var a = document.createElement('a');
    a.href = url;
    return a;
}

parseUrl('http://example.com/form_image_edit.php?img_id=33').search

它将输出:?img_id=33


你也可以用php.js来得到parse_url function in JavaScript.


Update (2012-07-05)

如果您需要做的不仅仅是超简单的URL处理,我建议您使用卓越的URI.js库.

Jquery相关问答推荐

bootstrap - Select Select 器不能在下拉菜单中 Select

如何在 jQuery 中 Select 特定的表单元素?

$.each() 与 for() 循环 - 和性能

jQuery: Select 属性大于值的所有元素

如何判断输入日期是否等于今天的日期?

jQuery增量读取AJAX流?

如何从 jQuery 中的父级中 Select 所有子级(任何级别)?

JavaScript 吸管(告诉鼠标光标下像素的 colored颜色 )

jQuery 中 prop() 和 attr() 的区别以及何时使用 attr() 和 prop()

Onchange 通过 Select 打开 URL - jQuery

复选框值始终为打开

jquery: $(window).scrollTop() 但没有 $(window).scrollBottom()

jQuery Uncaught TypeError: 对象 [object Window] 的属性$不是函数

检测 jQuery UI 对话框是否打开

如何使用 javascript 展开和折叠

单击时平滑滚动到特定的 div

在某个点停止固定位置滚动?

在 javascript/浏览器中缓存 jquery ajax 响应

.animate() 的回调被调用两次 jquery

在 JavaScript 开头使用分号的目的是什么?