Monday, November 19, 2012

Some useful formatting scripts

Some scripts you can add to your library of useful CRM items!

Derived from this post at StackOverflow

A script for formatting zipcodes (yes I know you probably don't need to format a 5 digit code of number!)
function OnZipFieldChange(context)
{
    var value = context.getEventSource().getValue();
    if (typeof(value) != "undefined" && value != null)
    {
        value = formatZipNumber(value);   
    }
    context.getEventSource().setValue(value);
}

function formatZipNumber(inputValue) {
    var scrubbed = inputValue.toString().replace(/[^0-9]/g, "");

    var fiveDigitFormat = /^\(?([0-9]{5})$/;
    var nineDigitFormat = /^\(?([0-9]{5})\)?[-. ]?([0-9]{4})$/;
    
    if (fiveDigitFormat.test(scrubbed)) {
        return scrubbed.replace(fiveDigitFormat, "$1");
    }
    else if (nineDigitFormat.test(scrubbed)) {
        return scrubbed.replace(nineDigitFormat, "$1-$2");
    }
    
    return inputValue;
}


A script for formatting SSN's

function OnSSNFieldChange(context)
{
    var value = context.getEventSource().getValue();
    if (typeof(value) != "undefined" && value != null)
    {
        value = formatSSN(value);   
    }
    context.getEventSource().setValue(value);
}

function formatSSN(inputValue) {
    var scrubbed = inputValue.toString().replace(/[^0-9]/g, "");

    
    var ssn = /^\(?([0-9]{3})\)?[-. ]?([0-9]{2})[-. ]?([0-9]{4})$/;
    
    if (ssn.test(scrubbed)) {
        return scrubbed.replace(ssn, "$1-$2-$3");
    }
    return inputValue;
}


A script for formatting phone numbers

function OnPhoneFieldChange(context)
{
    var value = context.getEventSource().getValue();
    if (typeof(value) != "undefined" && value != null)
    {
        value = formatPhoneNumber(value);   
    }
    context.getEventSource().setValue(value);
}

function formatPhoneNumber(inputValue) {
    var scrubbed = inputValue.toString().replace(/[^0-9]/g, "");

    var sevenDigitFormat = /^\(?([0-9]{3})[-. ]?([0-9]{4})$/;
    var tenDigitFormat = /^\(?([0-9]{3})\)?[-. ]?([0-9]{3})[-. ]?([0-9]{4})$/;
    var extDigitFormat = /^\(?([0-9]{3})\)?[-. ]?([0-9]{3})[-. ]?([0-9]{4})?([0-9]*)$/;
    if (tenDigitFormat.test(scrubbed)) {
        return scrubbed.replace(tenDigitFormat, "($1)-$2-$3");
    }
    else if (sevenDigitFormat.test(scrubbed)) {
        return scrubbed.replace(sevenDigitFormat, "$1-$2");
    }
    else if (extDigitFormat.test(scrubbed)) {
        return scrubbed.replace(extDigitFormat, "($1)-$2-$3 x$4");
    }
    return inputValue;
}




No comments:

Post a Comment