Search code examples
javascriptregexstring-parsing

Check if a string starts with a number in range


I have a string that can be of random length and I need to check if it satisfies the following conditions:

  • starts with 4 digits
  • the first 4 digits form a number in range 2221-2720 (credit card number)

Right now I have the following code:

var isCardNumber = function (myString)
{
    var num = parseInt(myString.substr(0, 4));
    if(num) {
        return num >= 2221 && num <= 2720;
    };
    return false;
};

Can this be done simpler/shorter? Probably with a regexp?


Solution

  • var isCardNumber = function ( cardNumber ) {
       var n = +cardNumber.substr( 0, 4 )
       return n && n > 2220 && n < 2721
    }