我想从下面可以找到的每个网址中获取 ID (1337)。最好的办法是什么? ID 始终是数字。也许用“/”分割并取第一个数值?我很欣赏你的想法。
实际上该网址与第一个网址类似,但我想防止拼写错误。
这是 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!
最佳答案
var id = parseInt(url_parts[5]);
适用于您的所有示例。
您还可以使用正则表达式来查找第一个数字:
var reg = /\d+/;
var id = reg.exec(url);
使用正则表达式可能是更可靠的解决方案。
关于javascript - 如何通过 URL 获取值,防止拼写错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16463813/