规则如下:

四种组合指 数字,小写字母,大写字母,其它字符

把密码强度分为四等:

1. 密码长度小于或等于四位.或者密码只有一种组合
2. 密码长度大于四位, 且有两种组合.
3. 密码长度大于四位, 且有三种组合.
4. 密码长度大于四位, 且有四种组合.

如果没有输入则返回0

判断函数:

<script language="JavaScript">
function Evaluate(word)
{
    return word.replace(/^(?:([a-z])|([A-Z])|([0-9])|(.)){5,}|(.)+$/g, "$1$2$3$4$5").length;
}
</script>

其实函数主体只有一句,只利用了一个正则.之间却应用了好几个技巧.
首先,这个正则会得到五个捕获组.
前四个捕获组会告诉我们这个字符串包含有多少种组合(返回多少个匹配代表多少种组合)
如果这个字符串小于5位的话,则会得到第五个捕获组,长度为1(即强度为1),如果没有输入,就连捕获组5都不会得到.强度为0
里面其它地方的小技巧理解起来应该也不会很难的.相信仔细阅读会理解

下面是一个应用实例

<script language="JavaScript">
var test = new Array("", "a1_", "abcdef", "abcde123", "ads23%", "aA1B2^&2");
for(var i in test)
{
    alert(test[i] + " 的密码强度为" + Evaluate(test[i]));
}
function Evaluate(word)
{
    return word.replace(/^(?:([a-z])|([A-Z])|([0-9])|(.)){5,}|(.)+$/g, "$1$2$3$4$5").length;
}
</script>

转载于:https://www.cnblogs.com/beyondnet/archive/2007/12/01/979269.html

用JavaScript验证密码强度相关推荐

  1. JS简单验证密码强度

    <input type="password" id="password" value=""/><button id=&qu ...

  2. mysql 验证密码强度,MySQL关闭密码强度验证功能

    关于密码强度验证: [root@mysql mysql]# mysql -uroot -p123456 mysql: [Warning] Using a password on the command ...

  3. 用JavaScript验证密码是否正确有效

    问题描述: 代码实现: var text='@agK24930';var re =/^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)(?=.*[!@#%&]).{6,12}$/; ...

  4. 正则表达式验证密码强度

    从国外网站转过来的,Author : Bryian Tan 这个正则要求密码长度最少12位,包含至少1个特殊字符,2个数字,2个大写字母和一些小写字母. (?=^.{12,25}$)(?=(?:.*? ...

  5. jsf 自定义属性_如何在JSF中实现自定义密码强度指示器

    jsf 自定义属性 使用JavaScript验证密码强度是一项常见任务. 在本文中,我将展示如何向基于JSF的Web应用程序添加密码强度指示器. 的 PrimeFaces中的密码组件已经具有密码强度的 ...

  6. 如何在JSF中实现自定义密码强度指示器

    使用JavaScript验证密码强度是一项常见任务. 在本文中,我将展示如何向基于JSF的Web应用程序添加密码强度指示器. 的 PrimeFaces中的密码组件已经具有密码强度的反馈指示符,但是它有 ...

  7. js用户密码强度验证函数

    js调用此函数,返回密码强度级别 function getStrength(passwd){intScore = 0;if (passwd.match(/[a-z]/)) // [验证]至少一个小写字 ...

  8. asp.net mvc 5 identity 2.0 注册时密码强度验证

    asp.net mvc 5 identity 2.0 注册时密码强度验证 密码强度验证分两部分,一部分是客户端,即浏览器中进行验证,另一部分是 identity 的 UserManager 中进行的. ...

  9. mysql validate,MySQL密码强度审计插件:validate_password的使用说明

    相信很多人在日常工作中,都会遇到设置用户.密码之类的问题,很多人使用keepass来生成和保存密码:但是,很多人为了易于记忆,会选择相对简答的密码,这样,在安全性方面,会存在非常严重的安全隐患. 在m ...

  10. 如何用函数编写判断密码强度

    如何用函数编写判断密码强度 <style>span{display: block;} /* 将span转成块状元素 */</style><body><inpu ...

最新文章

  1. FFmpeg扩展开发
  2. Retrofit源码分析一 概览
  3. dfinity什么时候发币_区块链3.0的Dfinity揭秘
  4. 程序员基本功10栈和队列
  5. 【MFC系列-第8天】小型软件项目开发
  6. 【js】数组置空的其他方式及使用场景
  7. HTML5缓存和GPS定位
  8. php跳转分站,根据访客所在城市ip地址自动跳转到分站的php代码
  9. (42)System Verilog 例化Verilog模块
  10. php strus2 漏洞攻击_关于对部分重要漏洞进行安全加固的预警通报
  11. 参数返回Oracle 常用函数:nvl/nullif/case when/wm_concat/replace
  12. java方法里面能改定时器的时间吗_Kafka 时间轮的原理和实现
  13. VMware与宿主机同一网段
  14. pbootcms模板,pbootcms模板程序,pboot响应式模板
  15. win7系统没有telnet服务器,Win7系统没有telnet协议服务解决方法
  16. python 自动打包pyd
  17. 解决百度地图加载大量点卡顿
  18. std::tr1::bind使用帮助
  19. google map学习相关
  20. IDEA项目发布中,Web Application:Exploded和Web Application:Archive的详细解释

热门文章

  1. 网上花店java项目_jsp+servlet开发java web网上花店商城系统,后台可配置化,方便修改,也可修改做成其他商城类项目...
  2. 格式要求_论著的格式要求
  3. vue项目基本环境的配置与初始化
  4. js之面向对象编程,封装 继承 多态(详细篇)
  5. Linux Centos firewall 防火墙 开启 80 端口配置案例
  6. nginx 定时分割日志
  7. 阶段5 3.微服务项目【学成在线】_day01 搭建环境 CMS服务端开发_26-页面查询接口测试-Postman...
  8. switch and router
  9. git---怎样将分支上的一个单文件合并到主分支上(master)
  10. zoj 3747 dp递推