如何使用angularjs将数字格式化为:(99)9999-9999:9999999999?有人告诉我使用phoneformat.js,但我不知道如何在我的项目中实现它
答案 0 :(得分:1)
我不确定您需要Angular或任何特殊库中的任何特殊内容。 。 。只需使用基本的JS .replace()
方法和一点regex:
var sPhoneNum = "(99) 9999-9999";
var sFormattedPhoneNum = sPhoneNum.replace(/\D/g, "");
// sFormattedPhoneNum equals "9999999999"
正则表达式/\D/g
匹配所有非数字字符,因此它会删除除数字之外的所有内容。
答案 1 :(得分:1)
所以像talemyn说...解决方案只是删除不需要的字符...有角度的方法是通过过滤器我猜...这是一个jsfillde 举个例子......
myApp.filter('phoneToNum', function() {
return function(input, scope) {
return input.replace(/\D/g, "");
}
});
现在如果你还想恢复它......使用 phone filter
答案 2 :(得分:0)
试试这个:
formatLocal('US',phoneNumber)
答案 3 :(得分:0)
我有一个输入字段,我需要从用户那里获取电话号码,但只需要数字,以便使用数据库中的电话号码轻松索引。我在ng-keyup上使用了.replace,因此当用户输入时,非数字字符将被删除。
in html
<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, "");
};