使用javascript函数错误显示电话号码格式

使用javascript函数错误显示电话号码格式,javascript,angularjs,angularjs-filter,Javascript,Angularjs,Angularjs Filter,我可以使用以下命令获取从1234567891到123-456-7891格式的电话号码吗 Java脚本。我已经在下面编写了一个函数,它正在返回 1234-567-891.我是否遗漏了以下内容。 非常感谢您的建议。 下面的代码是在angular-moment.js文件中为自定义过滤器编写的。哪个 稍后我将在HTML中使用 .filter('phonenumber', function() { return function (number) {

我可以使用以下命令获取从1234567891到123-456-7891格式的电话号码吗 Java脚本。我已经在下面编写了一个函数,它正在返回
1234-567-891.我是否遗漏了以下内容。
非常感谢您的建议。
下面的代码是在angular-moment.js文件中为自定义过滤器编写的。哪个 稍后我将在HTML中使用

.filter('phonenumber', function() {
             return function (number) {
                 if (!number) { return ''; }
                 number = String(number);
                 var fNumber = number;

                 var c = (number[0] == '1') ? '1 ' : '';
                    number = number[0] == '1' ? number.slice(1):number;
                    var area = number.substring(0,3);
                    var front = number.substring(3, 6);
                    var end = number.substring(6, 10);

                    if (front) {
                        fNumber  = (c + "" + area + "-" + front);   
                    }
                    if (end) {
                        fNumber += ("-" + end);
                    }
                    return fNumber ;
                };
            })
检查前3个数字。这一情景再现了 仅当我将第一个数字输入为1时
非常感谢您提供有关如何实现此功能的任何指导。

您无需明确检查1: 下面的代码应该可以正常工作:

.filter('phonenumber', function() {
         return function (number) {
             if (!number) { return ''; }
             number = String(number);
             var fNumber = number;

                var area = number.substring(0,3);
                var front = number.substring(3, 6);
                var end = number.substring(6, 10);

                if (front) {
                    fNumber  = (area + "-" + front);   
                }
                if (end) {
                    fNumber += ("-" + end);
                }
                return fNumber ;
            };
        })

假设这是你的HTML

<p class="number">2124771000</p>

若你们已经验证了数字是否超过9位,你们可以试试下面的代码

angular.module(“myApp”,[]).filter(“phonenumber”,function()){
返回函数(编号){
如果(数字){
number=number.toString();
返回number.slice(0,3)+“-”+number.slice(3,6)+“-”+number.slice(6);
}
}
});

{{123456789 |电话号码}

以“1”开头的电话号码是否有特殊含义?可能重复
$(".number").text(function(i, text) {
        text = text.replace(/(\d{3})(\d{3})(\d{4})/, "$1-$2-$3");
        return text;
    });