Has anyone figured out a way to identify clearly fake phone numbers (999-999-9999, 123-456-7890, etc.)? All I have been able to come up with is the creation of a smart list to match to the common ones, such as all the same number. Is there any way to compare against known area codes?
First, keep in mind that "clearly fake" is almost never what you think it is!
Speaking only of North American area codes (technically, Numbering Plan Areas / NPAs), you can say that (999) 999-9999 does not exist now, but actually there's no prohibition against 999 being introduced in the future, and prefix (999)-999 can certainly exist at that point.
The sole reason that (123) 456-7890 doesn't exist (and in this specific case, will never exist) isn't because "123" is special but that the entire range 100-199 is reserved because of some now-ancient technical issues. (234) 567-8901 can exist, as can (234) 234-2345.
And 5-10 new NPAs go live every year as numbers are exhausted (millions of people have multiple numbers even on the same device, with Google Voice and such, so it's easy to see the drain on the 800 possible NPAs). So validation needs to always have the latest list in mind.
All that said, you can easily validate numbers against the current list of active area codes, as long as you keep that list up-to-date. Here's an example of validating a Marketo Form against the latest list downloaded from the NANPA website: MktoForms2 :: Phone Area Code Validation. (For leads already in Marketo, you could use FlowBoost to run the same check.)
One other note about form-level validation: since almost 400 of the 999 possible NPAs are currently in use, if you tell someone to enter a valid area code, they have a 40% chance of guessing a valid one (without actually fixing up their number). So you may actually want to let the people into your system with the known-bad area code, but pre-flag their phone number as invalid.
In addition to the detail Sanford provides, I'd like to ask, "What's your use case?"
Because someone could give you a real email and a fake # (I almost always do this), so you'd pattern match against junk phone, but end up excluding potentially good overall records.
We are trying to enrich records. We are only planning on deleting the Fake numbers, but keeping the valid emails. We already have a process for removing fake emails. I agree that a fake phone number is not always indicative of a fake email.