Je souhaite écrire une expression régulière pour un numéro de téléphone de type américain standard prenant en charge les formats suivants:
###-###-####
(###) ###-####
### ### ####
###.###.####
où # signifie n'importe quel nombre. Jusqu'à présent, j'ai trouvé les expressions suivantes
^[1-9]\d{2}-\d{3}-\d{4}
^\(\d{3}\)\s\d{3}-\d{4}
^[1-9]\d{2}\s\d{3}\s\d{4}
^[1-9]\d{2}\.\d{3}\.\d{4}
respectivement. Je ne sais pas si le dernier est correct pour le chèque en pointillé. Je veux aussi savoir s'il est possible que je puisse écrire une seule expression au lieu des 4 différentes qui répondent aux différents formats que j'ai mentionnés. Si tel est le cas, je ne sais pas comment procéder. Et aussi comment modifier l'expression / expressions afin que je puisse également inclure une condition pour prendre en charge l'indicatif régional en tant que composant facultatif. Quelque chose comme
+1 ### ### ####
où +1 est l'indicatif régional et il est facultatif.