Another Phone Number Translation

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

Dig Deeper



Forgot Password?

No problem! Submit your e-mail address below. We'll send you an email containing your password.

Your password has been sent to:




  • iSeries tutorials's tutorials provide in-depth information on the iSeries. Our iSeries tutorials address areas you need to know about...

  • V6R1 upgrade planning checklist

    When upgrading to V6R1, make sure your software will be supported, your programs will function and the correct PTFs have been ...

  • Connecting multiple iSeries systems through DDM

    Working with databases over multiple iSeries systems can be simple when remotely connecting logical partitions with distributed ...