Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/461.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何在UI中获得一个数字,并在每4个字符后加上空格?_Javascript_Angularjs_Regex_Angular Filters - Fatal编程技术网

Javascript 如何在UI中获得一个数字,并在每4个字符后加上空格?

Javascript 如何在UI中获得一个数字,并在每4个字符后加上空格?,javascript,angularjs,regex,angular-filters,Javascript,Angularjs,Regex,Angular Filters,例如,我有一个返回的16位属性(12341234112341234)。我希望它在我的UI上以每4个数字字符一个空格呈现,例如(1234 1234 1234 1234)。我正在使用Angular JS,所以我正在寻找一种方法来实现这一点。我很确定这是一个定制的角度过滤器或与regex相关的,但我对这两者以及如何实现它的了解有限。您可以使用match(),然后使用带有空格的join() var str='12341234112341234'; var res=str.match(/.{1,4}/g

例如,我有一个返回的16位属性(12341234112341234)。我希望它在我的UI上以每4个数字字符一个空格呈现,例如(1234 1234 1234 1234)。我正在使用Angular JS,所以我正在寻找一种方法来实现这一点。我很确定这是一个定制的角度过滤器或与regex相关的,但我对这两者以及如何实现它的了解有限。

您可以使用
match()
,然后使用带有空格的
join()

var str='12341234112341234';
var res=str.match(/.{1,4}/g).join(“”);

控制台日志(res)您可以使用带有前瞻的正则表达式

查找等号后的图案,但不将其包含在匹配中

x(?=y)

仅当“x”后跟“y”时才匹配“x”。这称为前瞻

例如,
/Jack(?=Sprat)/
仅当后跟“Sprat”时才与“Jack”匹配<代码>/Jack(?=Sprat | Frost)/
仅当“Jack”后跟“Sprat”或“Frost”时才与之匹配。然而,“斯普拉特”和“弗罗斯特”都不是比赛结果的一部分

函数格式{
返回s.toString().replace(/\d{4}(?=.)/g,$&');
}

日志(格式为(12341234112341234))AngularJS过滤器易于设置。只需接受一个参数并对其应用任何JS格式。以下是一个工作示例:

var-app=angular.module('myApp',[]);
app.filter('myFilter',function(){
返回函数(x){
返回x.toString().replace(//\d{4}(?=)/g,$&');//此处是您的格式筛选器
};
});
应用程序控制器('demoCtrl',函数($scope){
$scope.test=12341234112341234;
});

{{test | myFilter}}

我现在想我可能需要使用角度过滤器。思想?