这是我的问题:
我目前正在设计一个用于验证密码安全级别的 JavaScript 函数。输入密码后,我使用 jQuery 切换 div 的显示(默认情况下不可见),其中包含句子“您的密码是”+给定的安全级别。
一切正常,除了我onKeyUp event
在密码输入中使用 来触发我的 div 出现。但是,自然地,按下的每个键都会切换我的 div 的可见性。结果:在密码输入中按下每个第一个键,我的 div 出现,按下下一个键,它又消失了。有没有办法在按下第一个键时切换一次 div 并防止它在按下下一个键时消失?
这是代码:
function password1Security()
{
var pwd1 = document.getElementById("password1");
var strongRegex = new RegExp("^(?=.{8,})(?=.*[A-Z])(?=.*[a-z])(?=.*[0-9])(?=.*\\W).*$", "g");
var mediumRegex = new RegExp("^(?=.{7,})(((?=.*[A-Z])(?=.*[a-z]))|((?=.*[A-Z])(?=.*[0-9]))|((?=.*[a-z])(?=.*[0-9]))).*$", "g");
var pwdsft = document.getElementById("passwordSafetyLevel1");
{
if (strongRegex.test(pwd1.value))
{
pwdsft.innerHTML = '<span style="color:green;">Safe</span>'
}
else if (mediumRegex.test(pwd1.value))
{
pwdsft.innerHTML = '<span style="color:orange;">Quite Safe</span>'
}
else
{
pwdsft.innerHTML = '<span style="color:red;">Unsafe</span>'
};
}
};
<input name="password1"
id="password1"
type="password"
size="15"
maxlength="20"
style="width:500px; height:30px;"
onKeyUp="showPassSafety1()" />
<br/>
<span name="passwordSafety1"
id="passwordSafety1"
style="font-size:12pt; display:none;">Your password is <b name="passwordSafetyLevel1" id="passwordSafetyLevel1"></b>.
< /span>
<br/>