Javascript 如何在UI中获得一个数字,并在每4个字符后加上空格?
例如,我有一个返回的16位属性(12341234112341234)。我希望它在我的UI上以每4个数字字符一个空格呈现,例如(1234 1234 1234 1234)。我正在使用Angular JS,所以我正在寻找一种方法来实现这一点。我很确定这是一个定制的角度过滤器或与regex相关的,但我对这两者以及如何实现它的了解有限。您可以使用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
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}}
我现在想我可能需要使用角度过滤器。思想?