原生js实现密码强度验证功能

作者:意外i 时间:2024-04-17 10:35:14 

我们在填写表单的时候,特别是输入密码的时候,经常看到实时显示密码强度的效果,那么这种效果如何通过我们的原生js实现呢?

思路:

1.密码通常是由数字,大写字母,小写字母以及特殊字符组成
2.密码全部是纯数字或者纯大写字母,或者纯小写字母,我们认为是密码强度较低
3.密码由两种混合,我们认为密码强度是中等的
4.密码由三种或者四种混合,我们认为这样的密码组合强度很强
5.通过判断输入的密码每个字符,如果是数字返回1;如果是大写字母,返回2;如果是小写字母,返回4;如果是特殊字符,则返回8(至于为什么选择返返回这些数字请看第六条);
6.初始化一个体现密码强度的变量为0,在二进制下表示也就是0000,将他与我们的返回值进行二进制相或运算
7.比如初始值0000
与数字的返回值1(0001)相或运算,等于0001;
与一个小写字母和大写字母组成的密码相或就是0110;
与大写字母,小写字母,数字组成的密码相或就是0111;
与大写字母,小写字母,数字,特殊字符的密码相或就是1111;
8.将相或结果赋值给这个初始值,通过判断这个值在二进制下有多少个1,就能判断对应密码强度(用0001与这个值做相并计算,同时做无符号右移运算,即可获得1的个数)

来源:https://blog.csdn.net/qq_31881193/article/details/78981000

标签:js,密码,验证
0
投稿

猜你喜欢

  • Python中__repr__和__str__区别详解

    2022-02-17 04:45:25
  • Keras之fit_generator与train_on_batch用法

    2021-07-10 18:19:31
  • 详情解析TCP与UDP传输协议

    2024-01-02 05:28:57
  • HTML5 移动页面自适应手机屏幕宽度详解

    2022-08-14 23:14:43
  • Notice: Undefined index: page in E:\\PHP\\test.php on line 14

    2023-10-27 20:04:46
  • jetbrains mono字体安装方法(推荐)

    2023-08-28 23:11:38
  • 一文了解Hive是什么

    2023-09-27 09:28:47
  • 关于vue父组件调用子组件的方法

    2024-04-09 10:47:43
  • Python字典使用技巧详解

    2021-09-07 23:54:25
  • 详解Linux下安装php环境并且配置Nginx支持php-fpm模块

    2023-11-11 02:02:50
  • PHP count_chars()函数讲解

    2023-06-05 09:17:25
  • 仅用几行Python代码就能复制她的U盘文件?

    2021-11-20 15:12:19
  • SQL Server数据库查询优化的常用方法总结

    2008-12-10 14:43:00
  • text-overflow实现标题省略号功能

    2009-05-19 12:13:00
  • python探索之BaseHTTPServer-实现Web服务器介绍

    2023-06-03 03:14:34
  • python 实现 pymysql 数据库操作方法

    2024-01-22 09:56:29
  • python time时间库详解

    2023-10-09 03:20:57
  • ASP日期格式化函数

    2010-08-08 19:18:00
  • 函数式编程让JS更优美

    2008-06-10 12:40:00
  • python中正则表达式 re.findall 用法

    2023-10-03 21:59:18
  • asp之家 网络编程 m.aspxhome.com