使用html和javascript进行表单验证

时间:2018-07-27 04:53:28

标签: javascript html

我正在尝试使用HTML和纯JavaScript创建表单验证,这是我的作业的一部分。但是,即使对代码进行大量修改,年龄和密码验证似乎也不起作用。如果年龄在18到60之间,并且密码必须与正则表达式相同,则该年龄是有效的。
这是扩展的代码:

编辑:用户代码已被编辑,但仍无法按预期运行。

string mystring="<html><body><p>Hello World</p></body></html>";
bool iscontainTags=mystring.Contains("<") || mystring.Contains(">")?true:false;
function checkPassword(str) {
  var re = /^(?=.*\d)(?=.*[a-z])(?=.*[A-Z]).{6,}$/;
  return re.test(str);
}

function checkName(str) {
  var ge = /^[a-zA-Z ]+$/;
  return ge.test(str);
}

function mytq() {
  var uname = document.forms.formvalidation.fullname;
  var uemail = document.forms.formvalidation.email;
  var uage = document.forms.formvalidation.age;
  var upwd = document.forms.formvalidation.password;
  var vpwd = document.forms.formvalidation.pwdrpt;


  if (uname.value != "") {
    if (!checkName(uname.value)) {
      window.alert("Please enter a valid name");
      uname.focus();
      return false;
    }
  }

  if (!(uage < 16 || uage > 60)) {
    window.alert("Sorry you're not eligible for the position");
    uage.focus();
    return false;
  }

  if (uemail.value.indexOf("@", 0) < 0 && uemail.value.indexOf(".", 0) < 0) {
    window.alert("Please enter a valid email");
    uemail.focus();
    return false;
  }

  if (upwd.value != "" && upwd.value == vpwd.value) {
    if (!checkPassword(upwd.value)) {
      window.alert("The password you entered is not valid");
      upwd.focus();
      return false;
    }
  }
  return true;
}

1 个答案:

答案 0 :(得分:3)

您的年龄比较有缺陷。如果您希望确保年龄小于16岁,小于60岁,则应将其简化为

   if(uage < 16 || uage > 60) {
        window.alert("Sorry you're not eligible for the position");
        uage.focus();
        return false;
    }