2017-01-13 32 views
-3

我正在Angular JS中为银行应用程序的帐号进行数字格式化。Angular JS的数字格式

如何实现帐户格式11-02980-1。当某些添加数字(11029801)时,我希望分隔符( - )自动添加到输入文本中。即当我键入11,分隔符( - )加入,然后02980,再添加另外的分隔符,然后最后1

感谢

+0

的可能的复制[A指令格式的手机号码(http://stackoverflow.com/questions/22057481/a-directive-to-格式电话号码) – superUser

回答

0

编辑

难道这就是你要找的人?

试试这个片断:

var MyApp = angular.module('MyApp', []); 
 
MyApp.controller('TestController', TestController); 
 

 
function TestController($scope) { 
 
\t $scope.accNumber = ''; 
 
\t $scope.previousAccNumber = ''; 
 
\t $scope.editAccountNumber = function (accNumber) { 
 
\t \t if ($scope.previousAccNumber.length > accNumber.length) { 
 
\t \t \t $scope.previousAccNumber = accNumber; 
 
\t \t \t return accNumber; 
 
\t \t } 
 
\t \t accNumber = accNumber.replace(/-/g, ''); 
 
\t \t var classA = accNumber.slice(0, 2); 
 
\t \t var classB = accNumber.slice(2, 7); 
 
\t \t var classC = accNumber.slice(7, 8); 
 
\t \t var finalNumber = []; 
 

 
\t \t if (classA && classA.length == 2) { 
 
\t \t \t finalNumber.push(classA, "-"); 
 
\t \t } else { 
 
\t \t \t return classA; 
 
\t \t } 
 

 
\t \t if (classB && classB.length == 5) { 
 
\t \t \t finalNumber.push(classB, "-"); 
 
\t \t } else { 
 
\t \t \t return classA + "-" + classB; 
 
\t \t } 
 

 
\t \t if (classC && classC.length == 1) { 
 
\t \t \t finalNumber.push(classC); 
 
\t \t } 
 
\t \t $scope.previousAccNumber = finalNumber.join(''); 
 
\t \t return finalNumber.join(''); 
 
\t } 
 
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script> 
 

 
<div ng-app> 
 
    <div ng-controller="TestController"> 
 
     <input id="accNumber" type="text" placeholder="Enter Account Number" ng-model="accNumber" ng-change="accNumber = editAccountNumber(accNumber)" /> 
 
    </div> 
 
</div>

+0

嗨,你可以请有一个完整的实现这与什么应该是HTML文件的标签。我尝试了以下,但它失败

+0

@IppezRobertsTrevorzMarxwell尝试我的新摘要 –

+0

我仍然有挑战实现这一点是因为一些输入字段已经将ng-model绑定到它。 是否有可能在一个输入字段上有多个ng模型,例如ng-model =“formData.glCode”ng-model =“accNumber”ng-change =“accNumber = editAccountNumber(accNumber)”?因为所有这些输入字段,我想申请这已ng模型已经和我也需要使用我ng-model =“accNumber” 谢谢 –