角度 js ng-keyup 不适用于密码强度检查
angular js ng-keyup not working for password strength check
我是Angular Programming的新手。
因此,我被赋予了一项任务,即在 Angular 中创建一个应用程序,以根据输入字符串长度检查密码的强度。
以下是我的代码,请检查一下。
<!DOCTYPE html>
<html>
<head>
<title>password strength</title>
<style type="text/css">
.red{
background-color: red;
}
.orange{
background-color: orange;
}
.green{
background-color: green;
}
</style>
<script type="text/javascript" src="angular.js"></script>
<script type="text/javascript">
var ans= angular.module("myapp",[]);
ans.controller("pswdstr",function($scope){
$scope.show=function(){
var pswdlen= $scope.pswd.length;
if (pswdlen==0)
{
$scope.color="";
$scope.validation="Enter password";
}
else if (pswdlen<=5)
{
$scope.color="red";
$scope.validation="password is weak";
}
else if (pswdlen>5 && pswdlen<=8)
{
$scope.color="orange";
$scope.validation="password is ok";
}
else if (pswdlen>8)
{
$scope.color="green";
$scope.validation="password is strong";
};
};
});
</script>
</head>
<body ng-app="myapp" ng-controller="pswdstr">
<label for="pswd">Enter password</label>
<input type="password" name="pswd" id="pswd" ng-model="pswd" ng-keypress="show()"></input>
<div class='{{ color }}' ng-if="pswd">
{{ validation }}
</div>
</body>
</html>
我面临的问题是该应用程序无法正常工作。根据条件,当字符串长度低于 5 或低于 8 时,div 颜色应在其验证时更改为红色。但它不是那样工作的..请帮忙。
伙计们请发布详细的答案,因为我是这个脚本的初学者。谢谢。
我认为您的问题应将nd-model定义为ng-model。我把你的样品放在这里并正常工作。
使用 ng-change 而不是 ng-keypress。现在它工作正常了。
var ans= angular.module("myapp",[]);
ans.controller("pswdstr",function($scope){
$scope.show=function(){
var pswdlen= $scope.pswd.length;
if (pswdlen==0)
{
$scope.color="";
$scope.validation="Enter password";
}
else if (pswdlen<=5)
{
$scope.color="red";
$scope.validation="password is weak";
}
else if (pswdlen>5 && pswdlen<=8)
{
$scope.color="orange";
$scope.validation="password is ok";
}
else if (pswdlen>8)
{
$scope.color="green";
$scope.validation="password is strong";
};
};
});
.red{
background-color: red;
}
.orange{
background-color: orange;
}
.green{
background-color: green;
}
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script>
<div ng-app="myapp" ng-controller="pswdstr">
<label for="pswd">Enter password</label>
<input type="password" name="pswd" id="pswd" ng-model="pswd" ng-change="show()">
<div class='{{ color }}' ng-if="pswd">
{{ validation }}
</div>
</div>
您可以使用
ng-change
而不是input
ng-keypress
请参阅此处工作代码
使用按键的键下输入和按键的
输入 $scope.pswd.length
用
$scope.pswd.length+1
并在您的检查中发出警报以查看其是否正常工作
相关文章:
- 如何在ajax中检查密码是否小于8个字符
- 检查密码匹配时出错
- 检查密码-代码中的错误在哪里
- 检查密码是否匹配
- 我正在尝试制作一个nocatsplash页面 - 它使用HTML代码来检查密码并在输入正确的密码时重定向访问者
- 键入时检查密码是否匹配
- 检查密码是否与jquery匹配
- 检查密码匹配问题(JavaScript)
- 检查密码输入以启用按钮的Javascript
- 正在检查密码强度
- Angularjs检查密码的指令已经重复,不能工作
- onsubmit检查密码
- 如何检查密码和确认密码在AngularJS中也是一样
- 检查密码是否等于jQuery
- 如何创建仪表来检查密码的强度在php
- 检查密码是否只包含字母、数字或一些额外字符
- Angular ng消息:如何检查密码确认
- 使用javascript/jquery检查密码强度
- 如何用确认密码字段检查密码字段
- JavaScript帮助检查密码是否匹配