Форматирование телефона CRM 2011 - PullRequest
1 голос
/ 07 июля 2011

У кого-нибудь есть пример кода для применения форматирования номера телефона к определенным полям ??? Я вроде JS взломать. Помогите!

1 Ответ

4 голосов
/ 07 июля 2011

Вы должны создать библиотеку и добавить два метода ниже, а затем загрузить ее как веб-ресурс. Затем назначьте функцию OnPhoneFieldChange событию Change каждого поля, которое вы хотите обработать

    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;
}
...