0

我想从您可以在下面找到的每个 URL 中获取 ID (1337)。最好的方法是什么?ID 始终为数字。也许被“/”分割并取第一个数值?我很欣赏你的想法。

实际上 URL 就像第一个一样,但我想防止拼写错误。

这是 JSFiddle:http: //jsfiddle.net/vKJfw/

/* outputs "1337" */
var url = "http://www.mydomain.com/module/action/1337/"; 

/* error: outputs "action" */
// var url = "http://www.mydomain.com/module/action/1337";

/* error: outputs "action" */
// var url = "http://www.mydomain.com/module/action/1337#"; 

/* error: outputs "" */
// var url = "http://www.mydomain.com/module/action/1337//";

/* error: outputs "bla" */
// var url = "http://www.mydomain.com/module/action/1337/bla/?x=y";

var url_parts = url.split("/");
var id        = url_parts[url_parts.length-2];

alert(id); // should output "1337" everytime!
4

1 回答 1

4
var id        = parseInt(url_parts[5]);

适用于您的所有示例。

您还可以使用正则表达式来查找第一个数字:

var reg = /\d+/;
var id = reg.exec(url);

使用正则表达式可能是更强大的解决方案。

于 2013-05-09T14:13:29.753 回答