Twelve digits? That's a lot. We only use ten in the U.S.; where are you?
Here's an expression that works pretty well for U.S. phone numbers
^((?'Paren'\()?[02-9]\d{2}(?(Paren)\)))?[-\s]*\d{3}[-\s]*\d{4}$
Bear in mind that Expresso and my
RegexTester[
^] use .net's implementation of Regular Expressions and may have features that Javascript doesn't.