I am trying to write an Angular Regex validator,
which matches this and only this pattern for phone, spaces exact
(444) 333-2222
How can this be done?
this.productForm = this.formBuilder.group({
'homephoneNumber': [null, [PhoneUSValidator]],
Working on this Code: Trying to add the space, after the first parenthesis, not sure if correct
export const PhoneUSValidator = Validators.pattern(/^(d{3})d{3}-d{4}$/);
Advertisement
Answer
You need to
- Add a literal space (or
sto allow any whitespace) exactly at the location where you expect it to be in the string - Escape the
(char after^because you need to match a literal open parenthesis. - Do not escape
-that is outside of a character class, i.e. not inside[...].
You may use
/^(d{3}) d{3}-d{4}$/
See the regex demo
Details
^– start of string(– a(chard{3}– three digits)– a)char– a spaced{3}-d{4}– three digits, hyphen, four digits$– end of string.