使用 angularJs 格式化 phone 数字
format phone number using angularJs
如何使用 angularjs 将数字(如:(99) 9999-9999)格式化为:9999999999?有人告诉我使用 phoneformat.js 但我不知道如何在我的项目中实现它
我不确定您是否需要 Angular 或任何特殊库中的任何特殊内容。 . .只需使用基本的 JS .replace()
方法和一点正则表达式:
var sPhoneNum = "(99) 9999-9999";
var sFormattedPhoneNum = sPhoneNum.replace(/\D/g, "");
// sFormattedPhoneNum equals "9999999999"
正则表达式 /\D/g
匹配所有非数字字符,因此它会去掉除数字以外的所有字符。
试试这个:
formatLocal('US', phoneNumber)
所以就像 talemyn 说的那样...解决方案只是删除不需要的字符...我猜 angular 方法是通过过滤器...这是 jsfillde
举个例子...
myApp.filter('phoneToNum', function() {
return function(input, scope) {
return input.replace(/\D/g, "");
}
});
现在,如果您还想还原它...使用
phone filter
我有一个输入字段,我需要从用户那里获取 phone 号码,但只有数字,这样可以很容易地使用数据库中的 phone 号码进行索引。我在 ng-keyup 上使用了 .replace,因此非数字字符会在用户键入时被删除。
在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, "");
};
如何使用 angularjs 将数字(如:(99) 9999-9999)格式化为:9999999999?有人告诉我使用 phoneformat.js 但我不知道如何在我的项目中实现它
我不确定您是否需要 Angular 或任何特殊库中的任何特殊内容。 . .只需使用基本的 JS .replace()
方法和一点正则表达式:
var sPhoneNum = "(99) 9999-9999";
var sFormattedPhoneNum = sPhoneNum.replace(/\D/g, "");
// sFormattedPhoneNum equals "9999999999"
正则表达式 /\D/g
匹配所有非数字字符,因此它会去掉除数字以外的所有字符。
试试这个:
formatLocal('US', phoneNumber)
所以就像 talemyn 说的那样...解决方案只是删除不需要的字符...我猜 angular 方法是通过过滤器...这是 jsfillde 举个例子...
myApp.filter('phoneToNum', function() {
return function(input, scope) {
return input.replace(/\D/g, "");
}
});
现在,如果您还想还原它...使用 phone filter
我有一个输入字段,我需要从用户那里获取 phone 号码,但只有数字,这样可以很容易地使用数据库中的 phone 号码进行索引。我在 ng-keyup 上使用了 .replace,因此非数字字符会在用户键入时被删除。
在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, "");
};