簡體   English   中英

使用替換選擇URL的一部分

[英]Using replace to select part of a URL

您好,我是javascript新手,我需要一些有關正則表達式/替換的幫助

我想以一個網址為例(網址情況1)

http://url.com/_t_lastUpdate_2670619?location=50457347

或(網址大小寫2)

http://url.com/_t_2670619

我想在這種情況下選擇

_t_2680619

忽略“?”之后的所有內容 和之前(下划線)t(下划線)

可以用正則表達式/替換嗎? 我唯一要做的就是選擇僅帶有

var _t__and_number = document.URL.replace(/[^\d]/g, '');
alert(_t__and_number);

但這並不能解決我的問題,如果出現類似URL case 1的情況

(如果即使沒有(underscore)t(underscore),我也只能得到第一個數字,那已經對我有很大幫助。謝謝

解決方案:

onetrickpony / michaelb958:

var _t__and_number = window.location.pathname;
alert(_t__and_number);

ermagana:

var _t__and_number = document.URL.replace(/\?.*/g, '').match(/.*\/(.*)/)[1];
alert(_t__and_number);

第一部分,如情況(1)和(2)

    var s = '//url.com/_t_522121?location=50457347';
    var n = s.lastIndexOf('/');
    var result = s.substring(n + 1);
    alert(result);

    n = result.indexOf('?');
    result = result.substring(0, n);
    alert(result);

onetrickpony所建議,如果這是您當前正在瀏覽的URL,則window.location.pathname將產生該URL的一部分。

如果您嘗試在最后一個/之后以及?之前提取值。 你可以嘗試這樣的事情

url.replace(/\?.*/g, '').match(/.*\/.*(_t_.*)/)[1]

替換將從?中刪除所有內容。 向前和向前,匹配會創建一組在最后一個正斜杠之后找到的值,然后由索引1訪問

希望這可以幫助。

這是展示效果的jsfiddle我的JsFiddle

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM