更新:认为这清楚地说明这是一项家庭作业,并且阅读所写内容的责任应该在于,那些正在阅读它的人,但有人建议我应该澄清,所以帖子没有被那些没有真正阅读它的人拒绝投票!
所以这里说:澄清一下,我明白客户端验证是不安全的(你应该总是对现实世界的项目使用服务器端验证) - 再次,这只是大学练习的一部分来学习像这样的东西的必要语法&任何人都不应该把它作为一个现实世界的例子来混淆......
我现在一直在寻找,并尝试了许多不同的东西,但似乎没有任何工作,所以我不确定这甚至可以做到。我们的家庭作业要求我们这样做只有两(2)个电子邮件/密码组合才能登录我们的“网站”。
我们没有使用服务器端验证,&我们给出的示例只是验证在电子邮件/密码字段中输入的最小字符数(HTML5将确认正在使用正确的电子邮件格式)。
我的问题是:你能编写JS来验证一个确切的电子邮件地址/密码,即电子邮件:joe@joeschmoe.com / PW:blowhard。并且,如果输入任何其他内容,将生成错误消息,就像第一个示例生成的错误消息一样,它使用的是字符数?我不打算使用REGEX,只需一个电子邮件地址/密码组合(实际上,在这种情况下,它是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 →" id="submit">
</div>
</fieldset>
</form>
答案 0 :(得分: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')) {