目前我正在使用javascript抓取网址的结尾:
var url = document.URL;
var sale = url.substring(url.lastIndexOf('/') + 1);
if(sale != "")
所以,如果有这个/ sales / 1234就会把它拿起来,麻烦的是它还能用于其他类似sales / anotherword / 1234的东西,有没有一种简单的方法来调整这个只能在“/销售/“?
答案 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)
您可以进行更多验证:
/
之后的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
}
。这样的事情可行:
{{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