0

更新:认为这清楚地表明这是一项家庭作业,阅读所写内容的责任应该在于阅读它的人,但有人建议我应该澄清这一点,以免帖子被否决那些实际上并没有完整阅读它的人!

所以这里是:澄清一下,我知道客户端验证是不安全的(你应该总是对现实世界的项目使用服务器端验证) - 再次,这只是大学练习的一部分,以了解必要的语法对于这样的事情,任何人都不应将其作为现实世界的例子来阅读......


我一直在寻找一段时间,并尝试了许多不同的东西,但似乎没有任何效果,所以我不确定这是否可以完成。我们的家庭作业要求我们做到这一点,以便只有两 (2) 个电子邮件/密码组合能够登录到我们的“网站”。

我们没有使用服务器端验证,我们给出的示例只是验证在电子邮件/密码字段中输入了最少的字符数(HTML5 将确认正在使用正确的电子邮件格式)。

我的问题是:你能写 JS 来验证一个确切的电子邮件地址/密码吗,即电子邮件:joe@joeschmoe.com / PW:blowhard。并且,如果输入了其他任何内容,则会生成一条错误消息,就像第一个示例一样,它使用 # of characters?? 我不想使用正则表达式,只是一个电子邮件地址/密码组合(实际上,在这种情况下,它是 2 个电子邮件/2 个密码)。谢谢,下面的代码是我正在处理的...

    // Validate!
if ((email.value.length > 0) && (password.value.length > 6)) {
    return true;
} else {
    alert('Please fill out the form accurately!');
    return false;
}

   // Validate!
if ((email.value == user@myonlinestore.com) && (password.value == JustMe69)) {
    return true;
} else {
    alert('Please fill out the form accurately!');
    return false;
}

.value 来自下面的表单元素参考,之后列出了我正在使用的 HTML 表单本身:

    // Get references to the form elements:
var email = document.getElementById('email').value;
var password = document.getElementById('password').value;

    <form action="myaccount.html" method="get" id="loginForm">
    <fieldset>
        <legend>Login</legend>
        <div>
            <label for="email">Email Address</label>
            <input type="email" name="email" id="email" required autofocus>
        </div>
        <div>
            <label for="password">Password</label>
            <input type="password" name="password" id="password" required>
        </div>
        <div>
            <label for="submit"></label>
            <input type="submit" value="Login &rarr;" id="submit">
        </div>
    </fieldset>
</form>
4

1 回答 1

0

将电子邮件和密码用引号括起来,将它们视为字符串:

if ((email.value == 'user@myonlinestore.com') && (password.value == 'JustMe69')) {

编辑

阅读您的更新后,您似乎不需要使用email.value. 在此声明中:

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

您已将email字段的值分配给email变量。也是如此password,因此您可以根据email变量检查电子邮件字符串 ('user@myonlinestore.com'):

if ((email == 'user@myonlinestore.com') && (password == 'JustMe69')) {
于 2013-10-27T20:06:54.297 回答