屏蔽密码

时间:2015-07-07 11:05:09

标签: javascript html angularjs

我有一个应用程序作为调用的一部分,返回一个JSON字符串,除了其他详细信息之外还包括密码。现在,在这个特定的屏幕中,当你处于查看模式时,我想在一个范围内显示屏蔽密码(*******),而如果你点击编辑按钮,我会显示密码输入字段。

这是我第一次使用AngularJS,并试图查看是否有一些过滤器可以帮助我,但是没有走得太远。是否有一些其他服务可以用来掩盖密码并在一个范围内显示它?

2 个答案:

答案 0 :(得分:3)

您好,您可以通过以下方式实现这一目标:

//html
    <span ng-show="showpassword" type="password">{{password | passwordFilter}}</span>
    <input ng-hide="showpassword" type="password" ng-model="password">
    <input type="checkbox" ng-model="showpassword" ng-checked="false">

//js file
    app.filter('passwordFilter', function() {
      return function(input) {
        var split = input.split('');
        var result = "";
        for(var i = 0 ; i < split.length ; i++){
          result += "*";
        }
        return result;
      };
    });

答案 1 :(得分:0)

你可以编写一个简单的过滤器来将字符串屏蔽成一些重复的字符:

function passwordMask(aString) {
    return Array(aString.length + 1).join("*");
}

angular.module("someModule")
.filter("pwMask",function(){
    return passwordMask;
});

然后你可以在角度表达式中使用{{password | pwMask}}