使用HTML和JavaScript验证表单-检查表单输入是否与数组中的值匹配

使用HTML和JavaScript验证表单-检查表单输入是否与数组中的值匹配,javascript,html,forms,Javascript,Html,Forms,我有一个简单的web表单,它接受用户电子邮件和密码进行登录。 我想检查用户的电子邮件和密码是否与外部javascript文件中存储的内容匹配,如果组合匹配,则转到index.html页面 我的阵列在我的路由器文件中声明如下: var USERS = { users: [] }; function User(type, useremail, password) { this.type = type; this.useremail = useremail; this.password = p

我有一个简单的web表单,它接受用户电子邮件和密码进行登录。 我想检查用户的电子邮件和密码是否与外部javascript文件中存储的内容匹配,如果组合匹配,则转到index.html页面

我的阵列在我的路由器文件中声明如下:

var USERS = { users: [] };

function User(type, useremail, password) {
 this.type = type;
 this.useremail = useremail;
 this.password = password;
}

var Bob = new User("rep", "bob@bob.com", "qwerty");
USERS.users.push(Bob);

var Helen = new User("rep", "helen@helen.com", "test");
USERS.users.push(Helen);

var Dominic = new User("customer", "dom@dom.com", "1234");
USERS.users.push(Dominic);

var James = new User("grower", "james@james.com", "pass1");
USERS.users.push(James);
 <div id="loginform"> 
    <form id ="login" name="login" method="post" accept-charset="utf-8" onsubmit="return verify();"> 
        <h1>&nbsp;</h1>
        <label>
        <span>Email Address:</span>
        <input id="email" type="email" name="email" placeholder="Enter a valid email address" required />
        </label>
        <br>
        <label>
        <span>Password:</span>
        <input id="password" type="password" name="password" placeholder="Password" required />
        </label>
        <br> <br>
        <label id="reset"><a href="#">Click here to reset your password</a>               
        </label>
        <br>
        <label>
        <span>&nbsp;</span>
        <input id="submit_button" type="submit" value="Login" />
        </label>       

<!-- <input type="submit" value="Login" onsubmit = "verify()"> --><!--  <input type="submit" name="submit" value="Send"> -->

      </form> <!-- End of log in form -->
   </div>
我的html表单如下所示:

var USERS = { users: [] };

function User(type, useremail, password) {
 this.type = type;
 this.useremail = useremail;
 this.password = password;
}

var Bob = new User("rep", "bob@bob.com", "qwerty");
USERS.users.push(Bob);

var Helen = new User("rep", "helen@helen.com", "test");
USERS.users.push(Helen);

var Dominic = new User("customer", "dom@dom.com", "1234");
USERS.users.push(Dominic);

var James = new User("grower", "james@james.com", "pass1");
USERS.users.push(James);
 <div id="loginform"> 
    <form id ="login" name="login" method="post" accept-charset="utf-8" onsubmit="return verify();"> 
        <h1>&nbsp;</h1>
        <label>
        <span>Email Address:</span>
        <input id="email" type="email" name="email" placeholder="Enter a valid email address" required />
        </label>
        <br>
        <label>
        <span>Password:</span>
        <input id="password" type="password" name="password" placeholder="Password" required />
        </label>
        <br> <br>
        <label id="reset"><a href="#">Click here to reset your password</a>               
        </label>
        <br>
        <label>
        <span>&nbsp;</span>
        <input id="submit_button" type="submit" value="Login" />
        </label>       

<!-- <input type="submit" value="Login" onsubmit = "verify()"> --><!--  <input type="submit" name="submit" value="Send"> -->

      </form> <!-- End of log in form -->
   </div>
为了以防万一,我的路由器中有一个部分,我会根据请求反馈登录页面:

    app.get('/views/login.html', function (req, res) {
        res.render('../views/login.html');
        //console.log("Log in page displayed");

    });


    app.post('/views/login.html', function (req, res) {
        var url_parts = url.parse(req.url, true);
        var query = url_parts.query;

    console.log(query);
    console.log("Username: " + query.useremail);
    console.log("Password: " + query.password);

});
我把自己和所有不同的代码和文件搞混了。。。如何验证用户是否可以登录


我将验证函数放在哪里?我现在把它放在用户数据下面的路由器文件中,但我想在HTML中使用它,所以我考虑在那里放入标记…?

我建议您使用Javascript作为NodeJS的服务器,然后您需要为这创建一个路由,对吗?所以它必须在后端使用服务器端语言,比如php、asp、rails……你能给我看一下你的项目的结构吗?看这个项目,路径在app.jsIn中,第102行是登录的路径:app.get'/login',sessionController.new;主文件夹nodejs->Contains:node_modules,public Contains css Contains style.css,router Contains Main.js,views Contains index.html和views.html,expressserver.js,package.json在路由中不要放置.htlml文件。只有这样的路径:app.post'/login',sessionController.create;在控制器中渲染视图。你懂我博客的代码吗?不懂。。。很抱歉我对这一切都很陌生。我只花了几周的时间来研究它
var email = req.body.email;