user1639485
user1639485

Reputation: 808

Regex help in JavaScript to validate and extract last number

I am looking to validate an input text against the following pattern in JS/JQuery: P-1-A100 or

R-5-M42 or P-10-B99, etc

The text essentially needs to have the following six parts:

  1. Single character P or R followed by

  2. A single '-' followed by

  3. Any number with 1 or more digits followed by
  4. A single '-' followed by
  5. Any alphabet (A-Z) followed by
  6. Any number with 1 or more digits.

Do I need to take care of escape characters as well. How do I make sure that the input text matches the regular expression.

If it does match, how can I extract the last part (Number)from the input text. I have tried this, but isn't working for me

var isMatch = inputText.match([PR]-\d+-[A-Z]+\d+)

Upvotes: 3

Views: 89

Answers (1)

Krzysztof Atłasik
Krzysztof Atłasik

Reputation: 22595

You just need to add group to your regex.

var match = inputText.match(/^[PR]-\d+-[A-Z]+(\d+)$/);

If match is not null, then number will be in array on position match[1].

var number = match ? match[1] : null;

EDIT: Added anchors as Aaron suggested.

Upvotes: 1

Related Questions