Jump to content

Phone # / Cell Rule


swilson

Recommended Posts

Hi, I have a rule created that i use on business cards that when an employee wants there cell number on there that it will put "Cell" and if they don't want there cell on there it will eliminate the "Cell". Now my issue is that a new customers template needs the same rule, however, the "Cell" needs to be one red in color and the phone number needs to be black in color? Can any one give me advise? See below for the rule I have already that will put the word Cell and eliminate it, but using same color...thanks in advance.

 

var Var1 = "cell";

var CaseSelection = "Format 1";

 

 

 

if(CaseSelection == "Format 1")

{

var formatStyle01 = "$1.$2"; //simple 7 digit phone

var formatStyle02 = "$1.$2.$3"; //simple 10 digit phone

var formatStyle03 = "+$1 $2.$3.$4"; //10 digit phone starts with 1

var formatStyle04 = "$1.$2.$3 ext.$4"; //10 digit phone with extension

var formatStyle05 = "+$1 $2.$3.$4 ext.$5"; //10 digit phone starts with 1 with extension

var formatStyle06 = "$1.$2 ext.$3"; //7 digit phone with extension

 

var thisNumber = Field(Var1);

 

if (Field("cell") != "")

{

return "cell: "+formatNumber(Trim(thisNumber));

}

}

 

 

 

 

 

if(CaseSelection == "Format 2")

{

var formatStyle01 = "$1-$2"; //simple 7 digit phone

var formatStyle02 = "$1-$2-$3"; //simple 10 digit phone

var formatStyle03 = "+$1 $2-$3-$4"; //10 digit phone starts with 1

var formatStyle04 = "$1-$2-$3 ext.$4"; //10 digit phone with extension

var formatStyle05 = "+$1 $2-$3-$4 ext.$5"; //10 digit phone starts with 1 with extension

var formatStyle06 = "$1-$2 ext.$3"; //7 digit phone with extension

 

var thisNumber = Field(Var1);

 

return formatNumber(Trim(thisNumber));

}

 

 

 

 

 

if(CaseSelection == "Format 3")

{

var formatStyle01 = "$1-$2"; //simple 7 digit phone

var formatStyle02 = "($1)$2-$3"; //simple 10 digit phone

var formatStyle03 = "+$1 ($2)$3-$4"; //10 digit phone starts with 1

var formatStyle04 = "($1)$2-$3 ext.$4"; //10 digit phone with extension

var formatStyle05 = "+$1 ($2)$3-$4 ext.$5"; //10 digit phone starts with 1 with extension

var formatStyle06 = "$1-$2 ext.$3"; //7 digit phone with extension

 

var thisNumber = Field(Var1);

 

return formatNumber(Trim(thisNumber));

}

 

 

 

 

 

 

if(CaseSelection == "Format 4")

{

var formatStyle01 = "$1.$2"; //simple 7 digit phone

var formatStyle02 = "($1)$2.$3"; //simple 10 digit phone

var formatStyle03 = "+$1 ($2)$3.$4"; //10 digit phone starts with 1

var formatStyle04 = "($1)$2.$3 ext.$4"; //10 digit phone with extension

var formatStyle05 = "+$1 ($2)$3.$4 ext.$5"; //10 digit phone starts with 1 with extension

var formatStyle06 = "$1.$2 ext.$3"; //7 digit phone with extension

 

var thisNumber = Field(Var1);

 

return formatNumber(Trim(thisNumber));

}

 

 

 

 

 

 

 

 

 

//////////////////////////////////////////////////////////////////////////////////////////////////////

// DO NOT EDIT BELOW THIS LINE ///////////////////////////////////////////////////////////////////////

//////////////////////////////////////////////////////////////////////////////////////////////////////

 

return formatNumber(Trim(thisNumber));

 

function formatNumber(number01){

 

var pattern01 = /^(\d{3})[^\d]*(\d{4})$/;

// //2201727 or 220-1727 or 220- 1727

var pattern02 = /^[\D]*(\d{3})[\D]*(\d{3})[\D]*(\d{4})$/;

// 8002201727 or 800-220-1727 or (800)220-1727 or (800) 220-1727

var pattern03 = /^\+?(\d{1})[\D]*(\d{3})[\D]*(\d{3})[\D]*(\d{4})$/;

// 18002201727 or 1-800-220-1727 or +1 (800) 220-1727

var pattern04 = /^[\D]*(\d{3})[\D]*(\d{3})[\D]*(\d{4})\D*[x#n]\D*(\d+)$/;

// 800-220-1727 ext 12345 or (800) 220-1727 ext 12345

var pattern05 = /^\+?(\d{1})[\D]*(\d{3})[\D]*(\d{3})[\D]*(\d{4})\D*[x#n]\D*(\d+)$/;

// 1-800-220-1727 ext 12345 or +1 (800) 220-1727 ext 12345

var pattern06 = /^(\d{3})[\D]*(\d{4})\D*[x#n]\D*(\d+)$/;

// 2201727 ext 1234 or 220-1727 ext 1234 or 220- 1727 ext 1234

var patternEndExt = /(.)[x#n](.)/;

var patternStart1 = /^[\D]*[1]/;

 

if(number01.match(pattern01)){

number01 = number01.replace(pattern01, formatStyle01);

return number01;

} else if(number01.match(pattern02)){

number01 = number01.replace(pattern02, formatStyle02);

return number01;

} else if(number01.match(pattern03)){

if (number01.match(patternStart1)){

number01 = number01.replace(pattern03, formatStyle03);

return number01;

} else {

return number01;

}

} else if(number01.match(pattern04)){

number01 = number01.replace(pattern04, formatStyle04);

return number01;

} else if(number01.match(pattern05)){

number01 = number01.replace(pattern05, formatStyle05);

return number01;

} else if(number01.match(pattern06)){

number01 = number01.replace(pattern06, formatStyle06);

return number01;

} else {

//return "no match any pattern";

return number01;

}

}

Link to comment
Share on other sites

If you already have a template rule set up to format the phone number, don't convert it to JavaScript and try to add more things to it. That will only be more confusing. Instead, leave that rule alone, and make another rule which calls it. Then the entirety of the JavaScript code you need to write would be something like this:

var phone = Rule("Change phone format Rule");
if (!phone)
   return "";

return '<color name="Red">cell: </color>' + phone;

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...