The best way to deal with this requirement is to have two separate columns for Area Code and Phone number. This helps with performance - as there is no need to perform substring operations which can negatively impact performance.
One more reason is the number of digits in the phone number may vary, so it may be difficult to find where the are code ends (unless you use a delimiter, which again leads to substring operations).
When you need to display the number in the user interface, you can concatenate and display.
Also helpful to run queries like "What is the area that most of our customers come from?" as you can do queries like
SELECT AREA_CODE, COUNT(*) FROM TABLE GROUP BY AREA_CODE ORDER BY 2 DESC;
As Area Code does not have a lot different values, so having it as a leading column in the index also helps perform Index Skip Scans and Index Fast Full Scans.