I am not so good with regex, I need some help and I am stuck...
This is what I got:
EDITED: Now is working fine, take a look at...
http://jsfiddle.net/oscarj24/qrPHk/1/
This is what I need:
// First 4 numbers must be always 9908
// After the 4 first numbers must be a : as delimiter
// After the delimiter...
// - the allowed values are just numbers from 0-9
// - the min. length is 3
// - the max. length is infinite
// RESULT:
// - Valid: 9908:123 or 9908:123456...
// - Invalid: 9908:12 or 9908:xyz
Thanks.
Alexander Corwin's answer should work fine. I just wanted to add some explanation to his response.
You don't need square brackets around the 9908 because square brackets mean that any of the characters in them are valid. So what your code was actually trying to do was match either a 9, 0 or 8. When you want to specify a literal string of characters, you can just write them out like he did.
Ignoring that however, the second problem I see is that you used the wrong quantifier syntax for specifying the length of the 9908 segment. You need to use curly braces to specify specific length ranges like the {3,} does in his code. Parentheses are simply used to create groups of sequences and back-references.
Additionally, when you aren't creating a RegExp object you should use the shorthand JavaScript regex syntax which is started and ended with a forward slash. You can also add a modifier after the ending slash which changes how the regex is executed. For example:
The 'g' means that it can match multiple times on the subject string. There are several other modifiers which you can find more info on here: http://www.regular-expressions.info/javascript.html
Your fixed line should look like this:
will match exactly 9908: followed by 3 or more digits.
Use this: