vazz, az egy datadetect szabadalom, hogy teszem azt (google: "phone number validating"):
var regexObj = /^\(?([0-9]{3})\)?[-. ]?([0-9]{3})[-. ]?([0-9]{4})$/;
if (regexObj.test(subjectString)) {
    var formattedPhoneNumber =
        subjectString.replace(regexObj, "($1) $2-$3");
} else {
    // Invalid phone number
}
Mert kb. erről beszélünk...
Ha az Apple ezen szabadalmát komolyan vennék mindenhol, kb. ki kéne irtani mindenhonnan a regexp és substring funkciókat.