gpt4 book ai didi

jquery - JSLint 显示了很多错误,但我的程序运行良好

转载 作者:行者123 更新时间:2023-12-01 04:29:02 26 4
gpt4 key购买 nike

我尝试从 JSLint 验证我的 JQuery 代码,但出现了很多错误。请让我知道如何修复。

这是下面的密码强度计代码

    $.fn.passwordstrength = function(options){
return this.each(function(){
var that = this;that.opts = {};
that.opts = $.extend({}, $.fn.passwordstrength.defaults, options);

that.div = $(that.opts.targetDiv);
that.defaultClass = that.div.attr('class');

that.percents = (that.opts.classes.length) ? 100 / that.opts.classes.length : 100;

v = $(this)
.keyup(function(){
if(typeof el == "undefined")
this.el = $(this);
var s = getPasswordStrength(this.value);
var p = this.percents;
var t = Math.floor(s/p);
if(100 <= s)
t = this.opts.classes.length - 1;
this.div
.removeAttr('class')
.addClass( this.defaultClass )
.addClass( this.opts.classes[ t ] );

})
});

function getPasswordStrength(H){
var D=(H.length);
if (D<4){
D=0;
}
if(D>5){
D=5;
}
// This is patern for non-numeric characters
var F=H.replace(/[0-9]/g,"");
var G=(H.length-F.length);
if(G>3){
G=3;
}
// This is patern for uppercase and lowercase evaluation
var A=H.replace(/\W/g,"");
var C=(H.length-A.length);
if(C>3){
C=3;
}

var B=H.replace(/[A-Z]/g,"");
var I=(H.length-B.length);
if(I>3){
I=3;
}

// This is patern for Special Characters
var P=H.replace(/^[@#$^&]*$/,"");
var Q=(H.length-P.length);
if(Q>3){
Q=3;
}

var E=((D*10)-20)+(G*10)+(C*15)+(I*10)+(Q*10);
if(E<0){
E=0;
}
if(E>100){
E=100;
}
return E;
}

function randomPassword() {
var chars = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789!@#$_+";
var size = 10;
var i = 1;
var ret = "";
while (i <= size) {
$max = chars.length-1;
$num = Math.floor(Math.random()*$max);
$temp = chars.substr($num, 1);
ret += $temp;
i++;
}
return ret;
}

};

$(document)
.ready(function(){
$('input[name="password"]').passwordstrength({targetDiv: '#pwd_strength',classes : Array('weak','medium','strong','complex')});

});

最佳答案

您的错误是样式错误,JSLint 不喜欢这样:

if(condition) thing();

它想要使用 {} 查看 if(),如下所示:

if(condition) { thing(); }

为了消除任何歧义,如下所示:

if(condition)
thing();
otherThing();

otherThing() 无论条件如何都会运行,但乍一看并不清楚,而这是:

if(condition) {
thing();
}
otherThing();
<小时/>

而且它不喜欢可选的分号(我也不喜欢,该死的使用它们!),总是包含它们,而这个纯粹是风格:它想要查看内部函数getPasswordStrength在其父级的顶部声明。

您的程序很好并且可以正常运行,您可以决定 JSLint 验证的重要性。

关于jquery - JSLint 显示了很多错误,但我的程序运行良好,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4086700/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com