Angular Telephone Filter without parenthesis

I am trying to filter a phone number
 <td colspan="2">{{listingDetails.BKRPhoneNum | tel}}</td>

This works but puts in parenthesis
(555) - 555-1212

I would need 555-555-1212

the phone number comes in as 5555551212

Thank you
Charles BaldoSoftware DeveloperAsked:
Who is Participating?

Improve company productivity with a Business Account.Sign Up

x
 
leakim971Connect With a Mentor PluritechnicianCommented:
check test page : http://jsfiddle.net/6VKCc/

angular.module('ng').filter('tel', function () {
    return function (tel) {
        if (!tel) { return ''; }

        var value = tel.toString().trim().replace(/^\+/, '');

        if (value.match(/[^0-9]/)) {
            return tel;
        }

        var country, city, number;

        switch (value.length) {
            case 10: // +1PPP####### -> C (PPP) ###-####
                country = 1;
                city = value.slice(0, 3);
                number = value.slice(3);
                break;

            case 11: // +CPPP####### -> CCC (PP) ###-####
                country = value[0];
                city = value.slice(1, 4);
                number = value.slice(4);
                break;

            case 12: // +CCCPP####### -> CCC (PP) ###-####
                country = value.slice(0, 3);
                city = value.slice(3, 5);
                number = value.slice(5);
                break;

            default:
                return tel;
        }

        if (country == 1) {
            country = "";
        }

        number = number.slice(0, 3) + '-' + number.slice(3);

        return (country + city + "-" + number).trim();
    };
});

var myCtrl = function($scope) {
    $scope.listingDetails = {
        BKRPhoneNum:"5555551212"
    }
}

Open in new window

0
 
leakim971PluritechnicianCommented:
Do you really need to save it like 555-555-1212 ?
I think it's prefable to save without formating and apply formatting when displaying data
0
 
Charles BaldoSoftware DeveloperAuthor Commented:
Sorry it is saved in database as 5555551212 that is what I have to work with.  I need to display as 555-555-1212.   The filter I have is displaying it as (555)-555-1212
0
 
leakim971PluritechnicianCommented:
could you post your filter?
you just need to remove the parentheses : "(" + xxx + ")"
0
 
Charles BaldoSoftware DeveloperAuthor Commented:
Thanks I made the rookie error thinking the filter tel was an angular built in filter.  I will locate it and remove the ()
0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.