Я хочу показать номер мобильного телефона в этом ** (03 9876 6544) **, т.е. Пробел после двух цифр, затем после 6 цифр в угловом режиме. Я получаю это значение от контроллера, имея в виду {{obj.number}}.
Скажите, пожалуйста, как это сделать.
благодаря
С помощью регулярного выражения вы можете использовать приведенный ниже код для достижения желаемого результата:
$scope.result = "0398766544".replace(/^(.{2})(.{4})(.*)$/, "$1 $2 $3");
Дополнительная информация об этом методе.
DEMO
var app = angular.module('plunker', []);
app.controller('MainCtrl', function($scope) {
$scope.result = "0398766544".replace(/^(.{2})(.{4})(.*)$/, "$1 $2 $3");
});
<!DOCTYPE html>
<html ng-app="plunker">
<head>
<script data-require="[email protected]" src="https://code.angularjs.org/1.4.8/angular.js" data-semver="1.4.8"></script>
<script src="app.js"></script>
</head>
<body ng-controller="MainCtrl">
{{result}}
</body>
</html>
Если значение, которое вы получаете, не имеет места, и вы хотите создать пробелы, тогда создайте такой эффект:
function makeSpaces(nospaces) {
var first = nospaces.slice(0, 2);
var second = nospaces.slice(2, 6);
var third = nospaces.slice(6, 10);
var result = first + " " + second + " " + third;
return result;
}
и затем: makeSpaces("0398766544") = 03 9876 6544
Это то, что вы имели ввиду?
вы можете использовать substr() для форматирования вашего phonenumber в javascript, а затем привязать его к HTML
obj.number = '1234567890';
obj.number = obj.number.substr(0,2) + ' ' + obj.number.substr(2,4) + ' ' + obj.number.substr(6);