编码练习:JavaScript:验证输入的密码是否一致

问题描述

验证两次输入的密码是否一致,以及密码是否满足要求:长度大于等于6,必须包含数字

<html>
 <head>
 </head>
 <body>
	<form id = "myForm">
  <p>
    <label for="password1">Enter the password</label>:
    <input type="password" name="password1" id="password1" required>
  </p>
  <p>
    <label for="password2">Confirm the password</label>:
    <input type="password" name="password2" id="password2" required>
  </p>

  <input type="submit" value="Send">
</form>

<p id="passwordHelp"></p> </body>
</html>

解决方法

        我自己是在两个输入框都添加了事件监听,希望第一个密码输入的时候,焦点不在第一个输入框就检查第一个密码输入的格式是否正确,但是不行

///Write-Your-Code
document.querySelector("form").addEventListener("submit", e => {
  const password1 = e.target.elements.password1.value;
  const password2 = e.target.elements.password2.value;
  let message = "Password validation successful";
  // Check confirmation input
  if (password1 === password2) {
    const minimalLength = 6;
    // Check password length
    if (password1.length >= minimalLength) {
      const regexPassword = /\d+/;
      // Check the presence of at least one digit
      if (!regexPassword.test(password1)) {
        message = "Error: password must contain at least one digit";
      }
    } else {
      message = `Error: password must be at least ${minimalLength} characters long`;
    }
  } else {
    message = "Error: passwords don't match";
  }
  // Update help text
  document.getElementById("passwordHelp").textContent = message;
  // Optional: prevent form data sending
  e.preventDefault();
});

显示效果:

 

  • 2
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值