Matching the page number in link





.everyoneloves__top-leaderboard:empty,.everyoneloves__mid-leaderboard:empty,.everyoneloves__bot-mid-leaderboard:empty{ height:90px;width:728px;box-sizing:border-box;
}







0















I keep trying to match the page number, but all I'm getting is undefined. What am I doing wrong?



var currentLink = "page_number=1";
var whatPage = currentLink.match(/page_number=([1-9])/g);
console.log(whatPage[1]);









share|improve this question























  • If you're trying to get parameter values from a URL, rather than writing an individual RegEx for each and every expected parameter, consider using something like searchParams instead.

    – Tyler Roper
    Jan 3 at 4:35




















0















I keep trying to match the page number, but all I'm getting is undefined. What am I doing wrong?



var currentLink = "page_number=1";
var whatPage = currentLink.match(/page_number=([1-9])/g);
console.log(whatPage[1]);









share|improve this question























  • If you're trying to get parameter values from a URL, rather than writing an individual RegEx for each and every expected parameter, consider using something like searchParams instead.

    – Tyler Roper
    Jan 3 at 4:35
















0












0








0








I keep trying to match the page number, but all I'm getting is undefined. What am I doing wrong?



var currentLink = "page_number=1";
var whatPage = currentLink.match(/page_number=([1-9])/g);
console.log(whatPage[1]);









share|improve this question














I keep trying to match the page number, but all I'm getting is undefined. What am I doing wrong?



var currentLink = "page_number=1";
var whatPage = currentLink.match(/page_number=([1-9])/g);
console.log(whatPage[1]);






javascript match






share|improve this question













share|improve this question











share|improve this question




share|improve this question










asked Jan 3 at 4:27









frostyfrosty

85331639




85331639













  • If you're trying to get parameter values from a URL, rather than writing an individual RegEx for each and every expected parameter, consider using something like searchParams instead.

    – Tyler Roper
    Jan 3 at 4:35





















  • If you're trying to get parameter values from a URL, rather than writing an individual RegEx for each and every expected parameter, consider using something like searchParams instead.

    – Tyler Roper
    Jan 3 at 4:35



















If you're trying to get parameter values from a URL, rather than writing an individual RegEx for each and every expected parameter, consider using something like searchParams instead.

– Tyler Roper
Jan 3 at 4:35







If you're trying to get parameter values from a URL, rather than writing an individual RegEx for each and every expected parameter, consider using something like searchParams instead.

– Tyler Roper
Jan 3 at 4:35














3 Answers
3






active

oldest

votes


















1














The problem is that you're using the /g flag, which will return an array of all matches to that regular expression in the string (disregarding capture groups - they aren't visible in the output with /g) - for example, if the input was page_number=1,page_number=2 it would result in page_number=2.






var currentLink = "page_number=1,page_number=2";
var whatPage = currentLink.match(/page_number=([1-9])/g);
console.log(whatPage[1]);





To use the capturing group of the only match, just remove the global flag:






var currentLink = "page_number=1";
var whatPage = currentLink.match(/page_number=([1-9])/);
console.log(whatPage[1]);








share|improve this answer
























  • It's worth noting that unless you know the page number is strictly 1-9, then you may want to append the + symbol to the end of your regex (i.e. currentLink.match(/page_number=([1-9]+)/); to cover any number of digits.

    – Ben Beck
    Jan 3 at 4:40



















0














A regex is likely overkill here. Why not just use split() like this:



var whatPage = currentLink.split('=')[1];


However, if a regex is necessary, you could utilize:



var whatPage =  currentLink.match(/page_number=([1-9]+)/);
console.log(whatPage[1]);


Note, I added the + symbol in the case that your page number isn't strictly within the range of 1-9.






share|improve this answer


























  • Because there's actually a lot more stuff in the link than the example I'm posting here.

    – frosty
    Jan 3 at 4:32



















0














Try this way



var currentLink = "page_number=1";
var whatPage = currentLink.match(/[1-9]+/);
console.log(whatPage[0]);





share|improve this answer
























    Your Answer






    StackExchange.ifUsing("editor", function () {
    StackExchange.using("externalEditor", function () {
    StackExchange.using("snippets", function () {
    StackExchange.snippets.init();
    });
    });
    }, "code-snippets");

    StackExchange.ready(function() {
    var channelOptions = {
    tags: "".split(" "),
    id: "1"
    };
    initTagRenderer("".split(" "), "".split(" "), channelOptions);

    StackExchange.using("externalEditor", function() {
    // Have to fire editor after snippets, if snippets enabled
    if (StackExchange.settings.snippets.snippetsEnabled) {
    StackExchange.using("snippets", function() {
    createEditor();
    });
    }
    else {
    createEditor();
    }
    });

    function createEditor() {
    StackExchange.prepareEditor({
    heartbeatType: 'answer',
    autoActivateHeartbeat: false,
    convertImagesToLinks: true,
    noModals: true,
    showLowRepImageUploadWarning: true,
    reputationToPostImages: 10,
    bindNavPrevention: true,
    postfix: "",
    imageUploader: {
    brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
    contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
    allowUrls: true
    },
    onDemand: true,
    discardSelector: ".discard-answer"
    ,immediatelyShowMarkdownHelp:true
    });


    }
    });














    draft saved

    draft discarded


















    StackExchange.ready(
    function () {
    StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f54016342%2fmatching-the-page-number-in-link%23new-answer', 'question_page');
    }
    );

    Post as a guest















    Required, but never shown

























    3 Answers
    3






    active

    oldest

    votes








    3 Answers
    3






    active

    oldest

    votes









    active

    oldest

    votes






    active

    oldest

    votes









    1














    The problem is that you're using the /g flag, which will return an array of all matches to that regular expression in the string (disregarding capture groups - they aren't visible in the output with /g) - for example, if the input was page_number=1,page_number=2 it would result in page_number=2.






    var currentLink = "page_number=1,page_number=2";
    var whatPage = currentLink.match(/page_number=([1-9])/g);
    console.log(whatPage[1]);





    To use the capturing group of the only match, just remove the global flag:






    var currentLink = "page_number=1";
    var whatPage = currentLink.match(/page_number=([1-9])/);
    console.log(whatPage[1]);








    share|improve this answer
























    • It's worth noting that unless you know the page number is strictly 1-9, then you may want to append the + symbol to the end of your regex (i.e. currentLink.match(/page_number=([1-9]+)/); to cover any number of digits.

      – Ben Beck
      Jan 3 at 4:40
















    1














    The problem is that you're using the /g flag, which will return an array of all matches to that regular expression in the string (disregarding capture groups - they aren't visible in the output with /g) - for example, if the input was page_number=1,page_number=2 it would result in page_number=2.






    var currentLink = "page_number=1,page_number=2";
    var whatPage = currentLink.match(/page_number=([1-9])/g);
    console.log(whatPage[1]);





    To use the capturing group of the only match, just remove the global flag:






    var currentLink = "page_number=1";
    var whatPage = currentLink.match(/page_number=([1-9])/);
    console.log(whatPage[1]);








    share|improve this answer
























    • It's worth noting that unless you know the page number is strictly 1-9, then you may want to append the + symbol to the end of your regex (i.e. currentLink.match(/page_number=([1-9]+)/); to cover any number of digits.

      – Ben Beck
      Jan 3 at 4:40














    1












    1








    1







    The problem is that you're using the /g flag, which will return an array of all matches to that regular expression in the string (disregarding capture groups - they aren't visible in the output with /g) - for example, if the input was page_number=1,page_number=2 it would result in page_number=2.






    var currentLink = "page_number=1,page_number=2";
    var whatPage = currentLink.match(/page_number=([1-9])/g);
    console.log(whatPage[1]);





    To use the capturing group of the only match, just remove the global flag:






    var currentLink = "page_number=1";
    var whatPage = currentLink.match(/page_number=([1-9])/);
    console.log(whatPage[1]);








    share|improve this answer













    The problem is that you're using the /g flag, which will return an array of all matches to that regular expression in the string (disregarding capture groups - they aren't visible in the output with /g) - for example, if the input was page_number=1,page_number=2 it would result in page_number=2.






    var currentLink = "page_number=1,page_number=2";
    var whatPage = currentLink.match(/page_number=([1-9])/g);
    console.log(whatPage[1]);





    To use the capturing group of the only match, just remove the global flag:






    var currentLink = "page_number=1";
    var whatPage = currentLink.match(/page_number=([1-9])/);
    console.log(whatPage[1]);








    var currentLink = "page_number=1,page_number=2";
    var whatPage = currentLink.match(/page_number=([1-9])/g);
    console.log(whatPage[1]);





    var currentLink = "page_number=1,page_number=2";
    var whatPage = currentLink.match(/page_number=([1-9])/g);
    console.log(whatPage[1]);





    var currentLink = "page_number=1";
    var whatPage = currentLink.match(/page_number=([1-9])/);
    console.log(whatPage[1]);





    var currentLink = "page_number=1";
    var whatPage = currentLink.match(/page_number=([1-9])/);
    console.log(whatPage[1]);






    share|improve this answer












    share|improve this answer



    share|improve this answer










    answered Jan 3 at 4:35









    CertainPerformanceCertainPerformance

    97.8k165887




    97.8k165887













    • It's worth noting that unless you know the page number is strictly 1-9, then you may want to append the + symbol to the end of your regex (i.e. currentLink.match(/page_number=([1-9]+)/); to cover any number of digits.

      – Ben Beck
      Jan 3 at 4:40



















    • It's worth noting that unless you know the page number is strictly 1-9, then you may want to append the + symbol to the end of your regex (i.e. currentLink.match(/page_number=([1-9]+)/); to cover any number of digits.

      – Ben Beck
      Jan 3 at 4:40

















    It's worth noting that unless you know the page number is strictly 1-9, then you may want to append the + symbol to the end of your regex (i.e. currentLink.match(/page_number=([1-9]+)/); to cover any number of digits.

    – Ben Beck
    Jan 3 at 4:40





    It's worth noting that unless you know the page number is strictly 1-9, then you may want to append the + symbol to the end of your regex (i.e. currentLink.match(/page_number=([1-9]+)/); to cover any number of digits.

    – Ben Beck
    Jan 3 at 4:40













    0














    A regex is likely overkill here. Why not just use split() like this:



    var whatPage = currentLink.split('=')[1];


    However, if a regex is necessary, you could utilize:



    var whatPage =  currentLink.match(/page_number=([1-9]+)/);
    console.log(whatPage[1]);


    Note, I added the + symbol in the case that your page number isn't strictly within the range of 1-9.






    share|improve this answer


























    • Because there's actually a lot more stuff in the link than the example I'm posting here.

      – frosty
      Jan 3 at 4:32
















    0














    A regex is likely overkill here. Why not just use split() like this:



    var whatPage = currentLink.split('=')[1];


    However, if a regex is necessary, you could utilize:



    var whatPage =  currentLink.match(/page_number=([1-9]+)/);
    console.log(whatPage[1]);


    Note, I added the + symbol in the case that your page number isn't strictly within the range of 1-9.






    share|improve this answer


























    • Because there's actually a lot more stuff in the link than the example I'm posting here.

      – frosty
      Jan 3 at 4:32














    0












    0








    0







    A regex is likely overkill here. Why not just use split() like this:



    var whatPage = currentLink.split('=')[1];


    However, if a regex is necessary, you could utilize:



    var whatPage =  currentLink.match(/page_number=([1-9]+)/);
    console.log(whatPage[1]);


    Note, I added the + symbol in the case that your page number isn't strictly within the range of 1-9.






    share|improve this answer















    A regex is likely overkill here. Why not just use split() like this:



    var whatPage = currentLink.split('=')[1];


    However, if a regex is necessary, you could utilize:



    var whatPage =  currentLink.match(/page_number=([1-9]+)/);
    console.log(whatPage[1]);


    Note, I added the + symbol in the case that your page number isn't strictly within the range of 1-9.







    share|improve this answer














    share|improve this answer



    share|improve this answer








    edited Jan 3 at 4:41

























    answered Jan 3 at 4:30









    Ben BeckBen Beck

    1,9731616




    1,9731616













    • Because there's actually a lot more stuff in the link than the example I'm posting here.

      – frosty
      Jan 3 at 4:32



















    • Because there's actually a lot more stuff in the link than the example I'm posting here.

      – frosty
      Jan 3 at 4:32

















    Because there's actually a lot more stuff in the link than the example I'm posting here.

    – frosty
    Jan 3 at 4:32





    Because there's actually a lot more stuff in the link than the example I'm posting here.

    – frosty
    Jan 3 at 4:32











    0














    Try this way



    var currentLink = "page_number=1";
    var whatPage = currentLink.match(/[1-9]+/);
    console.log(whatPage[0]);





    share|improve this answer




























      0














      Try this way



      var currentLink = "page_number=1";
      var whatPage = currentLink.match(/[1-9]+/);
      console.log(whatPage[0]);





      share|improve this answer


























        0












        0








        0







        Try this way



        var currentLink = "page_number=1";
        var whatPage = currentLink.match(/[1-9]+/);
        console.log(whatPage[0]);





        share|improve this answer













        Try this way



        var currentLink = "page_number=1";
        var whatPage = currentLink.match(/[1-9]+/);
        console.log(whatPage[0]);






        share|improve this answer












        share|improve this answer



        share|improve this answer










        answered Jan 3 at 4:46









        EthanEthan

        91




        91






























            draft saved

            draft discarded




















































            Thanks for contributing an answer to Stack Overflow!


            • Please be sure to answer the question. Provide details and share your research!

            But avoid



            • Asking for help, clarification, or responding to other answers.

            • Making statements based on opinion; back them up with references or personal experience.


            To learn more, see our tips on writing great answers.




            draft saved


            draft discarded














            StackExchange.ready(
            function () {
            StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f54016342%2fmatching-the-page-number-in-link%23new-answer', 'question_page');
            }
            );

            Post as a guest















            Required, but never shown





















































            Required, but never shown














            Required, but never shown












            Required, but never shown







            Required, but never shown

































            Required, but never shown














            Required, but never shown












            Required, but never shown







            Required, but never shown







            Popular posts from this blog

            MongoDB - Not Authorized To Execute Command

            How to fix TextFormField cause rebuild widget in Flutter

            in spring boot 2.1 many test slices are not allowed anymore due to multiple @BootstrapWith