Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

javascript regular expression test for 6 digit numbers only. comma seperated

and so this must pass:

454555, 939999 , 019999    ,727663

its for a user entering 6 digit invoice numbers. it should fail if a number is 5 or 7 digit and not 6. so 1234567, 123456 should fail, as one set is more than 6 numbers.

So far I have :

[0-9]{6}(\s*,*,\s*[0-9]{6})*

which only draw back is that it accepts 7 or more digit numbers. cant figure out if its even possible at this point to do both, test for 6 digits separated by a comma and one or more space, and all the digits have to be only 6 digits and fail if one is not.

any help appreciated. regular expressions are not my forte.

thanks

Norman

like image 697
Norman Bird Avatar asked Feb 22 '26 01:02

Norman Bird


2 Answers

You can write it using regex like the function below.

const isPassword = (password: string) => /^\d{6}$/gm.test(password);

And here is an example test file below.

  test('should recognize a valid password', () => {
    expect(isPassword('123456')).toBe(true);
    expect(isPassword('000000')).toBe(true);
  });

  test('should recognize an invalid password', () => {
    expect(isPassword('asdasda1234')).toBe(false);
    expect(isPassword('1234567')).toBe(false);
    expect(isPassword('a123456a')).toBe(false);
    expect(isPassword('11.11.11')).toBe(false);
    expect(isPassword('aaaaaa')).toBe(false);
    expect(isPassword('eeeeee')).toBe(false);
    expect(isPassword('......')).toBe(false);
    expect(isPassword('werwerwerwr')).toBe(false);
  });
like image 147
Bariscode Avatar answered Feb 23 '26 15:02

Bariscode


In order to validate the full string you can use this regex.

^(\s*\d{6}\s*)(,\s*\d{6}\s*)*,?\s*$

It works with six digits only, and you have to enter at least one 6 digit number. It also works if you have a trailing comma with whitespaces.

like image 31
Jesko R. Avatar answered Feb 23 '26 16:02

Jesko R.



Donate For Us

If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!