測试password强度
<html>
<!--激情在最后面。请看最后面红色字
这是是个计算password强度的实例
网上有非常多这种样例
只是呢,都不怎么好
这是我写的一个完整的效果,能够通用,
new一下就能够实例化一个【关注重点】,
主要是用面向对象来写,感觉知道做下笔记
password强度验证规则例如以下:
watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="">
-->
<meta charset="UTF-8">
<title>计算password强度</title>
<head></head>
<style>
span{
display: inline-block;
line-height: 20px;
text-align: center;
width:20px;
height:20px;
border-radius: 50%;
background:#ccc;
font-size: 12px;
color:#fff;
}
.current{
background:green;
color:#000;
}
</style>
<script src="jquery.js"></script>
<body>
<input type="text" id="test" class="input1">
<input type="submit" value="submit" id="submit"/>
<div class="vaild">
<span>弱</span>
<span>中</span>
<span>强</span>
</div>
<input type="text" id="test" class="input2">
<input type="submit" value="submit" id="submit"/>
<div class="vaild2">
<span>弱</span>
<span>中</span>
<span>强</span>
</div>
<script>
//构造函数
function Vaild(){
this.input=$(".input1"),
this.show=$(".vaild span"),
this.name="current",
this.vailded=function()
{
var _this=this;
this.input.on("keyup", function()
{
// var div=$("#fen");
//var tips=$("#tips");
var f=0;//每次都清空
var vals=$(this).val();
//数组
var num;
var en;
var fh;
var jl;
//得分
var lenF;
var numF;
var enF;
var fhF;
var jlF;
//推断长度
if(vals.length>0&&vals.length <=4){
lenF=5;
}
else if(vals.length>4&&vals.length<=7){
lenF=10;
}
else if(vals.length>=8){
lenF=25;
}
//推断数字
num=vals.match(/\d/g)?vals.match(/\d/g):0;
if(num==0){
numF=0;
}
else if(num.length==1){
numF=10;
}
else if(num.length>=2){
numF=20;
}
//推断字母长度
en=vals.match(/[A-Za-z_]/g)?
vals.match(/[A-Za-z_]/g):0;
if(en==0){
enF=0;
}
else if(en.length==1){
enF=10;
}
else if(en.length>=2){
enF=20;
}
//匹配符号
fh=vals.match(/\W/g)?vals.match(/\W/g):0;
if(fh==0){
fhF=0;
}
else if(fh.length==1){
fhF=10;
}
else if(fh.length>=2){
fhF=25;
}
//奖励
if(/\d+/g.test(vals)&&/[a-z_]+/g.test(vals)){
jlF=2;
}
if(/\d+/g.test(vals)&&/[a-z_]+/g.test(vals)&&/\W+/g.test(vals)){
jlF=3;
}
if(/\d+/g.test(vals)&&/[A-Z]+/g.test(vals)&&/[a-z_]+/g&&/\W+/g.test(vals)){
jlF=5;
}
if(jlF==undefined||jlF=="NaN"||jlF=="undefined")
{
jlF=0;
}
var count=Number(lenF)+Number(numF)+Number(enF)+Number(fhF)+Number(jlF);
//切换“弱” “中” “强”
if(count>=0&&count<60){
_this.show.eq(0).addClass(_this.name).siblings().removeClass(_this.name);
}
else if(count<90&&count>=60){
_this.show.eq(2).removeClass(_this.name).siblings().addClass(_this.name);
}
else if(count>90){
_this.show.addClass(_this.name);
}
else{
_this.show.removeClass(_this.name);
}
//显示分数
// div.html("分数 : "+ count)
//測试多相应的所得分数
console.log("长度分数:"+lenF)
console.log("数字分数:"+numF)
console.log("字母分数: "+enF)
console.log("符号分数: "+fhF)
console.log("奖励分数: "+jlF)
})
}
};
///实例化构造函数
var dd=new Vaild();
dd.vailded();
//开启第二个
var bb=new Vaild();
bb.input=$(".input2");
bb.show=$(".vaild2 span");
bb.vailded();
</script>
</body>
</html>
測试password强度的更多相关文章
- 学习使用Jmeter做压力測试(一)--压力測试基本概念
一.性能測试的概念 性能測试是通过自己主动化的測试工具模拟多种正常峰值及异常负载条件来对系统的各项性能指标进行測试.负载測试和压力測试都属于性能測试,两者能够结合进行. 通过负载測试, ...
- Android网络传输中必用的两个加密算法:MD5 和 RSA (附java完毕測试代码)
MD5和RSA是网络传输中最经常使用的两个算法,了解这两个算法原理后就能大致知道加密是怎么一回事了.但这两种算法使用环境有差异,刚好互补. 一.MD5算法 首先MD5是不可逆的,仅仅能加密而不能解密. ...
- Maven实现Web应用集成測试自己主动化 -- 部署自己主动化(WebTest Maven Plugin)
上篇:Maven实现Web应用集成測试自己主动化 -- 測试自己主动化(WebTest Maven Plugin) 之前介绍了怎样在maven中使用webtest插件实现web的集成測试,这里有个遗留 ...
- MVC jsp+servlet+javabean 连接Mysql数据库測试demo
本文介绍的是怎样使用MVC架构去实现jsp+servlet+javabean连接数据库 首先我们应该了解什么是MVC: MVC包含三个部分 : ①View:由各种JSP页面组成. ②Controlle ...
- 带有机器人框架的.NET自己主动化測试
Clayton Neal在软件測试和质量保证方面有超过13年的经验,当中有八年的Windows, web,和移动应用程序的測试自己主动化经验.他在測试领域的全部等级都工作过.近期他在Bloomberg ...
- Window平台搭建Redis分布式缓存集群 (一)server搭建及性能測试
百度定义:Redis是一个key-value存储系统.和Memcached类似,它支持存储的value类型相对很多其它.包含string(字符串).list(链表).set(集合).zset(sort ...
- ESP8266学习笔记1:怎样在安信可全功能測试板上实现ESP-01的编译下载和调试
近期调试用到了安信可的ESP-01模块,最终打通了编译下载调试的整个通道,有一些细节须要记录,方便兴许的开发工作. 转载请注明:http://blog.csdn.net/sadshen/article ...
- 一百万数据索引实例測试--mysql
推荐书籍:http://pan.baidu.com/s/1sjJIyRV 任务描写叙述: 如果一高频查询例如以下 SELECT * FROM user WHERE area='amoy' AND s ...
- 聊聊单元測试(一)——EasyMock
一.单元測试是保证软件质量的重要方法. 单元測试是对系统中某个模块功能的验证,但我们总会遇到这样那样的问题,导致測试代码非常难编写.最直接的一个原因便是强耦合关系,被測试者依赖一些不easy构造,比較 ...
随机推荐
- 自己封装js组件 - 中级
书接上文,上次弄了个基本版本的alert组件(其实就是十分钟前)但是很多功能都没有实现 没有关闭按钮 没有下面确定按钮 没有模态框 没有这那的 这次终极篇就都给它完善好弄个中级版本也是基本可用版本! ...
- Apache Bench测试
- 压力测试神器 Siege - Locust Web测压工具python开源 - 介绍: ab是apachebench命令的缩写. ab的原理:ab命令会创建多个并发访问线程,模拟多个访问者同时对某 ...
- POJ 4007 Flood-it!
题目:http://poj.org/problem?id=4007 思路: (lyd学长的思路) IDA*算法,首先迭代加深限制搜索深度. 可以发现如果当前矩阵中除了左上角的连通块之外,共有M种颜色, ...
- Kali linux 2016.2(Rolling)中metasploit的搜集特定地址的邮件地址
不多说,直接上干货! 使用search_email_collector搜集特定地址的邮件地址 search_email_collector 要求提供一个邮箱后缀,通过多个搜索引擎的查询结果分析使用此后 ...
- 关于Mantle使用个人的一些见解
前一个月,我接触到了Mantle,由于项目采用的是MVC的设计模式,选用好的model也是至关重要的.先介绍下Mantle的使用吧. 首先定义好数据模型: @property (nonatomic, ...
- softwares我的软件列表(转载)
[TOC] 个人在archlinux下的日常使用经验列出,故而在archlinux及其衍生发行版中,以下所列软件几乎可以从archlinux官方源或者aur中搜索下载安装,所列出名字一般即是其包名,使 ...
- windows平台Perl模块离线安装
工具: Perl windows工具:ActivePerl-5.24.0.2400-MSWin32-x86-64int-300560.exe Dmake工具:https://cpan.metacpan ...
- #ifdef__cplusplus
百度知道: 一般用于将C++代码以标准C形式输出(即以C的形式被调用),这是因为C++虽然常被认为是C的超集,但是C++的编译器还是与C的编译器不同的.C中调用C++中的代码这样定义会是安全的. 一般 ...
- 【BZOJ 1045】 [HAOI2008] 糖果传递
[链接] 我是链接,点我呀:) [题意] 在这里输入题意 [题解] 思路来自hzwer.. 设xi表示第i个人往左传递了xi个糖果. (如果小于0表示旁边的人给他了糖果. 则ans=∑|xi| 最后所 ...
- django-xadmin使用之更改菜单url
环境:xadmin-for-python3 python3.5.2 django1.9.12 1. 在模块的adminx.py文件中增加以下代码: class AdminSettings(object ...