使用JS使用regex验证用户输入时遇到问题

时间:2017-03-22 02:58:17

标签: javascript regex

我是这个东西的完全菜鸟。 但我的目标是接受某个用户名并使用某个密码验证它。 我整夜搜索和搜索都没有用,所以我在这里寻找答案。

我在html中的代码:

<form action="" method="POST" id="loginForm">
  <label for="userName" accesskey="F"><br>Username:</label>
  <input type="username" name="userName" id="userName">
  <label for="password"><br>Password:&nbsp;</label>
  <input type="password" name="password" id="password">
  <button>Submit</button>
</form>

我的代码在一个单独的javascript文件中(由html文件调用):

function validate(id) {
  var guest1User = /guest1/;
  var guest2User= /[guest1]/;
  var guest1Pass= /[guest2]/;
  var guest2Pass= /[guest1]/

  var userCheck= document.getElemetnById(userName);
  var passCheck= document.getElementById(password);
  if (guest1User.test(userCheck.value)) {
    if (guest1Pass.test(passCheck.value)) {
      return true;

    } else { 
      return false; 
    }
  }
  if (guest2User.test(guestCheck.value)) {
    if (guest2Pass.test(passCheck.value)) {
        return true;
    } else {
      return false; 
    }
  } else {
    return false;
  }
}
validate();

1 个答案:

答案 0 :(得分:0)

尝试以下方法:

根据您的评论,您想知道js文件将如何知道其函数已被调用....因此您需要以下列方式将js文件包含在html文件中:

<script type="text/javascript" src="somefile.js"></script>

确保somefile.js的路径是正确的,例如,如果您的文件系统是这样的:

/根/ JS /

/根/ HTML /

<script type="text/javascript" src="../js/somefile.js"></script>

并且您的html文件位于html文件夹中,然后您将js文件称为:

&#13;
&#13;
function validate(id) {
  var guest1User = /guest1/g;
  var guest2User= /[guest1]/g;
  var guest1Pass= /[guest2]/g;
  var guest2Pass= /[guest1]/g;


  var userCheck= document.getElementById('userName');
  var passCheck=document.getElementById('password');
  
  if (guest1User.test(userCheck.value)) {
  console.log("true");
    if (guest1Pass.test(passCheck.value)) {
          console.log("true");
          return true;

    } else { 
        console.log("false");
        return false; 
    }
  }
  else
  {
    console.log("false");
    return false;
  
  }

}
&#13;
<html>
<head>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
<!--
<script type="text/javascript" src="../js/somefile.js"></script>
-->
</head>

<body>
<form action="#" method="POST" id="loginForm">
  <label for="userName" accesskey="F"><br>Username:</label>
  <input type="username" name="userName" id="userName">
  <label for="password"><br>Password:&nbsp;</label>
  <input type="password" name="password" id="password">
  <input type=submit onclick="return validate();" value="submit"/>
</form>
</body>

</html>
&#13;
&#13;
&#13;