使用javascript在网址中查找ID号

时间:2014-03-03 18:50:16

标签: javascript

目前我正在使用javascript抓取网址的结尾:

var url = document.URL;
var sale = url.substring(url.lastIndexOf('/') + 1);
if(sale != "")

所以,如果有这个/ sales / 1234就会把它拿起来,麻烦的是它还能用于其他类似sales / anotherword / 1234的东西,有没有一种简单的方法来调整这个只能在“/销售/“?

3 个答案:

答案 0 :(得分:1)

您可以尝试使用正则表达式:

var url = document.URL;
var sale = null;

var matches = url.match(/\/sales\/(\d+)/);

if(matches.length && matches[1]){
   sale = matches[1];
}

答案 1 :(得分:0)

您可以进行更多验证:

  1. 确保/之后的sales之后没有var url = document.URL; var sale = url.substring(url.lastIndexOf('/sales/') + 1); if(sale.indexOf('/') < 0 && !isNaN(sale)) { //Handle the sale } else { //sale either contains a / or is not a number }
  2. 确保您获得的值是一个数字。
  3. 这样的事情可行:

    {{1}}

答案 2 :(得分:0)

你也可以这样做:

var sale = parseInt(url.split('/sales/')[1], 10);
if (!isNaN(sale)) {
    // do something
}
如果失败,

parseInt()会返回NaN(非数字)。


这是一个功能:

function toSaleId(url) {
    var id = parseInt(url.split('/sales/')[1], 10);
    if (!isNaN(id)) return id; 
}

用法示例:

var sale = toSaleId('/sale/1234'); // 1234
var sale = toSaleId('/sale/1234/anotherworld'); // 1234
var sale = toSaleId('/sale/anotherworld/1234'); // undefined