继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续
感谢您的支持,我会继续努力的
赞赏金额会直接到老师账户
将二维码发送给自己后长按识别
微信支付
支付宝支付

js技巧专题篇:表单常用的密码强度检验

ruibin
关注TA
已关注
手记 77
粉丝 9109
获赞 2572

今天忽然想做一个技巧分享专题,分享一些网页中常见的一些元素的实现。此处采用纯手写的方式,将不借助于任何插件或者函数库。当然很多地方的实现并不完善,仅能提供一个我想到的思路,希望能对大家有所帮助,这是我写作这些文章的初衷。

/**
 * Created MAORUIBIN on 2016-03-29.
 */
(function(win){
    var showStrength = function(_this, showWrap) {
        showWrap.style.fontFamily = 'Microsoft Yahei';
        var oValue = _this.value,
            len = oValue.length,
            strengthAll = 0;
        var color = ['red', 'orange', 'green'],
            strStrength = ['密码长度不得小于6', '密码强度为:初级','密码强度为:中级','密码强度为:高级'];
        var strength = function(str) {
            var code = str.charCodeAt(0);
            if (code >= 48 && code <= 57) {
                return 1;
            }else if (code >= 97 && code <= 122) {
                return 2;
            }else {
                return 3;
            }
        }
        if (len < 6) {
            showWrap.innerHTML = strStrength[0];
            showWrap.style.color = color[0];
        }else {
            for (var i = 0; i < len; ++i) {
                strengthAll += strength(oValue[i]);
            }
            if (strengthAll < 10) {
                showWrap.innerHTML = strStrength[1];
                showWrap.style.color = color[0];
            }else if (strengthAll >= 10 && strengthAll < 16) {
                showWrap.innerHTML = strStrength[2];
                showWrap.style.color = color[1];
            }else {
                showWrap.innerHTML = strStrength[3];
                showWrap.style.color = color[2];
            }
        }
    }
    win.showStrength = showStrength;
})(window)

这是js的实现。在html中我们需要这样引用:

<!DOCTYPE html>
<html>
<head lang="en">
    <meta charset="UTF-8">
    <title>表单常用的密码强度检验</title>

</head>
<body>
<input type="text" id = 'oInput'/><span id = 'oSpan'></span>
<script src="js/strength.js"></script>
<script>
    var input = document.getElementById('oInput');
    var span = document.getElementById('oSpan');
    input.onkeyup = function() {
        var self = this;
        showStrength(self, span);
    }
</script>
</body>
</html>
打开App,阅读手记
12人推荐
发表评论
随时随地看视频慕课网APP

热门评论

思路不错

后续还有相关的分享,主要是针对网我们看见的用得比较多的实现。不过这样的实现大都有相关的库或者插件封装好了,一般直接调用就行。这里主要是给大家分享下实现思路,以免以后只需要一点小功能的时候都要去引入一个插件。

查看全部评论