繁体   English   中英

Javascript中的表单验证

[英]Form Validations in Javascript

当我点击提交按钮时,我似乎无法弄清楚为什么我的代码不会给我一个错误或成功消息。 我只是试图验证html表单中的字符串,以确保它们不是null,不是太大,等等。

开发人员的工具和在线Lint给了我没有错误。 希望你们能指出我写过的任何不稳定的代码。

Javscript:

function submit()
{
  var firstName = document.getElementById("fn");
  var lastName = document.getElementById("ln");
  var email = document.getElementById("email");
  var emailR = document.getElementById("emailR");
  var userName = document.getElementById("un");
  var password = document.getElementById("pass");
  var passwordR = document.getElementById("passR");
  var error = "";
  var letters = /^[a-zA-Z]+$/;
  var postal = document.getElementById("pc");
  var code = /^[A-Za-z]\d[A-Za-z][ -]?\d[A-Za-z]\d$/;

  if (firstName === null || firstName.length > 15 || !firstName.value.match(letters))
  {
    error += "Please enter a valid first name.";
  }
  if (lastName === null || lastName.length > 15 || !lastName.value.match(letters))
  {
    error += " Please enter a valid last name";
  }

  var ei = email.value.lastIndexOf('@');
  var dot = email.value.lastIndexOf('.');
  if (email === null || email.length < 7 || ei == -1 || dot == -1 || dot < ei + 2)
  {
    error += " Please enter a valid email address";
  }
  if (emailR != email)
  {
    error += " Your email addresses did not match";
  }
  if (postal === null || !postal.length == 7 || !postal.value.match(code))
  {
    error += "Postal code must follow Canadian standard. E.g. \"N3H 1M1\" ";
  }
  if (userName === null || userName.length > 15)
  {
    error += " Please enter a valid username (must be less than 15 characters)";
  }
  if (password === null || password.length > 15)
  {
    error += "please enter a valid password (must be less than 15 characters)";
  }
  if (passwordR != password)
  {
    error += "your passwords do not match";
  }
  if (error === "")
  {
    document.getElementById("test").innerHTML = "Thank you for signing up!";
  }
  else if (error !== "")
  {
    document.getElementById("test").innerHTML = error;
  }
}

谢谢,Javanoob

document.getElementById为您提供完整的HTMLElement对象。 要获取它的值,请使用它的.value属性。 例:

var email = document.getElementById("email").value;

(假设带有id = "email"的HTML元素是文本输入)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM