javascript - 创建登录名并验证电子邮件地址

标签 javascript html

我想用 JavaScript 创建一个登录页面,但这里的代码是错误的。我想要的是,当我输入错误的电子邮件地址时,它应该显示一个警报,当我将其留空时,它会显示一个警报。

function check(form) {
  if (form.email.value == "id@gmail.com") {
    alert("correct username")
  } else if (form.email.value == "") {
    alert("blank username")
       }

    var email = document.getElementById('email');
    var filter = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;

    if (!filter.test(email.value)) {
      alert('Please provide a valid email address');
      email.focus;
      return false;
    }
  } else if (form.pswrd.value == "123") {
    alert("correct details")
  } else if (form.pswrd.value == "") {
    alert("blank password")
  }
}
<h1>Login </h1>
<form name="login">
  Username <input type="text" name="email"/>
  Password <input type="password" name="pswrd"/>
  <input type="button" onclick="check(this.form)" value="Login"/>
  <input type="reset" value="reset"/>
</form>

最佳答案

错误:

  1. 您不应该使用 <script> JavaScript 中的标签。它们无效。
  2. 您还没有给出 id="email"input 。所以这是行不通的。
  3. 添加else用于电子邮件验证的部分。
  4. 分隔您的passwordemail 检查检查if...else阻止。

工作片段

function check(form) {
  if (form.email.value == "id@gmail.com") {
    alert("correct username")
  } else if (form.email.value == "") {
    alert("blank username")
  } else if (form.email.value != "") {
    var email = document.getElementById('email');
    var filter = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;

    if (!filter.test(email.value)) {
      alert('Please provide a valid email address');
      email.focus;
      return false;
    }
  }
  if (form.pswrd.value == "123") {
    alert("correct details")
  } else if (form.pswrd.value == "") {
    alert("blank password")
  }
}
<h1>Login </h1>
<form name="login">
  Username <input type="text" name="email" id="email" />
  Password <input type="password" name="pswrd"/>
  <input type="button" onclick="check(this.form)" value="Login" />
  <input type="reset" value="reset"/>
</form>

关于javascript - 创建登录名并验证电子邮件地址,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37965932/

相关文章:

html - 第一个 CSS 选择器没有按预期工作

javascript - 如何修复 SCRIPT5007 : Unable to get property 'parentNode' of undefined or null reference in Internet Explorer 11?

javascript - 移除底部li时自动在底部制作其他li

php - PHP 联系表单中的换行符

css - 如何使子 div 与 flex parent 高度相同

html - CSS3(下拉菜单)第二个子菜单没有出现

html - 如何在不使用边框和宽度 : 0. 的情况下做到这一点 我正在尝试按百分比设置其宽度以提高设备灵活性

javascript - 将项目添加到 extjs 中的 tabPanel 的 tabBar

javascript - 带有 [ngmodel] 的 Angular Material 2 日期选择器

javascript - 从 javascript 访问不同的 HTML 文件