原生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