Here's another Phone Number Translation.
It's done in Formula Language so it's fast.
It basically takes anything entered into a phone number field and makes it look
like:
(123) 456-7890
They can enter 123 456-7890 or 123.456.7890.
The formula using some functions with their optional parameters which I'll bet
you didn't know existed.
Marc Alumbaugh
REM "DSCValidatePhoneNum";
REM " V1.0 - 7/4/96";
REM " Intellectual Property of Data Solutions Corp.";
work := CP_CompPhone;
REM "If it is the way we want it then exit";
@If(
@Matches(work; "{(}{0-9}{0-9}{0-9}{)}-{0-9}{0-9}{0-9}-{0-9}{0-9}{0-9}{0-9}") |
work = "";
@Return(work);
@Success
);
REM "Get the junk that is not numeric";
NotWanted := @Implode(@Explode(work; "0123456789"));
REM "Get rid of the junk that is not numeric & all spaces";
GoodNumber := @Implode(@Explode(work; NotWanted); "");
REM " If it isn\'t the correct length than leave it alone ";
@If(
@Length(GoodNumber) != 10;
@Return(work);
""
);
REM "Now Format the Phone";
areacode := @Left(goodnumber; 3);
restphone := @Right(goodnumber; 7);
"(" + areacode + ")-" + @Left(restphone; 3) + "-" + @Right(restphone; 4)
This was first published in November 2000