如何在javascript中使用正则表达式匹配网址末尾的用户ID?

时间:2018-01-26 00:33:46

标签: javascript jquery regex

我的用户展示页面的网址如下所示:" https://ee55715a523f4af8bae9f5467daf644d.vfs.cloud9.us-east-2.amazonaws.com/users/1"。我试图使用正则表达式从最终获取用户ID,我知道这应该工作:[/ \ d + $ /]。这是代码:

$(document).ready(function(){ 
$("#userplans").on('click', function(e) { 
    debugger;
    $.get("/fitness_plans", function(data) { 
        for (let i=0; i<data.length; i++) { 
            const userId = $("#userId");
            debugger;
            if (data[i]["user_id"] === userId.innerText) { 
                $("#plans").append("<li>" + "Name: " + data[i]["workout_routine"]["name"] + "</li>") 
                    .append("<li>" + "Length(days): " + data[i]["duration"] + "</li>")
                    .append("<li>" + "Category: " + data[i]["workout_routine"]["category"] + "</li>") 
                    .append("<li>" + "Difficulty: " + data[i]["difficulty"] + "</li>") 
                    .append("<li>" + "Days per Week: " + data[i]["split_length"] + "</li>") 
            }
        }
    })
}) 

}) ; 当我进入调试器并输入&#34; e.target.baseURI&#34;我得到了上面的网址。但是,当我输入&#34; e.target.baseURI [/ \ d + $ /]&#34;或者&#34; e.target.baseURI.match([/ \ d + $ /])&#34;,我分别得到undefined和null。我做错了什么?

1 个答案:

答案 0 :(得分:0)

代码包含character set中的量词+和边界$字符,使用/\d+$/而不包含括号(字符集)

"https://ee55715a523f4af8bae9f5467daf644d.vfs.cloud9.us-east-2.amazonaws.com/users/1"
.match(/\d+$/)