使用 AngularJs 格式化电话号码

format phone number using angularJs

本文关键字:电话号码 格式化 AngularJs 使用      更新时间:2023-09-26

如何将这样的数字格式化为: (99) 9999-9999 成: 9999999999使用AngularJS? 有人告诉我使用Phoneformat.js但我不知道如何在我的项目中实现它

我不确定您是否需要来自 Angular 或任何特殊库的任何特殊内容......只需使用基本的 JS .replace() 方法和一点正则表达式:

var sPhoneNum = "(99) 9999-9999";
var sFormattedPhoneNum = sPhoneNum.replace(/'D/g, "");
// sFormattedPhoneNum equals "9999999999"

正则表达式/'D/g匹配所有非数字字符,因此它将删除除数字以外的所有字符。

就像塔莱明说的那样......解决方案只是去除不需要的字符...我猜角度的方式是通过过滤器...这是一个JSfillde举个例子...

myApp.filter('phoneToNum', function() {
    return function(input, scope) {
        return input.replace(/'D/g, "");
    }
});

现在,如果您还想还原它...用电话过滤器

试试这个:

formatLocal('US', phoneNumber)

我有一个输入字段,我需要从用户那里获取电话号码,但只需要数字,以便使用数据库中的电话号码轻松索引。我在 ng-keyup 上使用 .replace ,因此当用户键入时,非数字字符将被删除。

在网页中

<input ng-keyup="formatNum()" ng-model='data.phone' placeholder="Phone Number" />  

在控制器中

$scope.formatNum = function() {
 if ($scope.data.phone)
      $scope.data.phone = $scope.data.phone.replace(/'D/g, "");
};