Forum Discussion
PhillipDennis
9 years agoQrew Cadet
Thank was helpful, Mark. I modified it to use with phone extensions and to create a field that would allow me to require phone numbers to be unique:
// Created 3/27/2017 by Phillip Dennis Watkyn LLC
// To convert a phone number to a text field that will allow a unique constraint
// Pad the value for an unknown number of digits in a phone extension
// Phone numbers without extension will usually be 14 characters (000) 000-0000
// With a four digit extension, can be as much as 20 characters (000) 000-0000 x0000
// But as soon as any extension is added, the length jumps from 14 to 17
// Numbers under 15 digits get padded with Fs at the end until they reach a length of 20 characters - was going to use 0s but those could be real extensions
// Numbers from 17 to 19 digits get enough Fs to reach a length of 20
var number phoneNumberLength = Length( [Phone Number] );
var text padding = Case ( $phoneNumberLength, 14, "FFFFFF", 17, "FFF", 18, "FF", 19, "F", "" );
List("",
Part([Phone Number],1, "() -x"),
Part([Phone Number],2, "() -x"),
Part([Phone Number],3, "() -x"),
Part([Phone Number],4, "() -x"),
Part([Phone Number],5, "() -x"),
Part([Phone Number],6, "() -x"),
Part([Phone Number],7, "() -x"),
Part([Phone Number],8, "() -x"),
Part([Phone Number],9, "() -x"),
Part([Phone Number],10, "() -x"),
Part([Phone Number],11, "() -x"),
Part([Phone Number],12, "() -x"),
Part([Phone Number],13, "() -x"),
$padding
)
// Created 3/27/2017 by Phillip Dennis Watkyn LLC
// To convert a phone number to a text field that will allow a unique constraint
// Pad the value for an unknown number of digits in a phone extension
// Phone numbers without extension will usually be 14 characters (000) 000-0000
// With a four digit extension, can be as much as 20 characters (000) 000-0000 x0000
// But as soon as any extension is added, the length jumps from 14 to 17
// Numbers under 15 digits get padded with Fs at the end until they reach a length of 20 characters - was going to use 0s but those could be real extensions
// Numbers from 17 to 19 digits get enough Fs to reach a length of 20
var number phoneNumberLength = Length( [Phone Number] );
var text padding = Case ( $phoneNumberLength, 14, "FFFFFF", 17, "FFF", 18, "FF", 19, "F", "" );
List("",
Part([Phone Number],1, "() -x"),
Part([Phone Number],2, "() -x"),
Part([Phone Number],3, "() -x"),
Part([Phone Number],4, "() -x"),
Part([Phone Number],5, "() -x"),
Part([Phone Number],6, "() -x"),
Part([Phone Number],7, "() -x"),
Part([Phone Number],8, "() -x"),
Part([Phone Number],9, "() -x"),
Part([Phone Number],10, "() -x"),
Part([Phone Number],11, "() -x"),
Part([Phone Number],12, "() -x"),
Part([Phone Number],13, "() -x"),
$padding
)