Regex to allow only 9 or 10 characters?
javascript, regex
Solution
The `|` in your regex allows it to match either of these two possibilities:
^[a-zA-Z]{2}[\d]{7}
[\d]{10}$
That is, start of string then 2 letters and seven numbers followed by anything, or anything followed by 10 numbers and end of string. Try this:
/^([a-zA-Z]{2}\d{7}|\d{10})$/
(Note also that I've removed the `[]` from around each `\d` - there's no point having a character class with only one character in it.)
Problem
9 characters requires 2 letters in the beginning i.e ab1234567 and 10 characters needs to have all digits i,e 1234567890. How do I do this using regex? Here is what I have tried. ``` /^[a-zA-Z]{2}[\d]{7}|[\d]{10}$/ ``` This doesnt seem to work. I would greatly appreciate your help.