我已经开始在w3Schools上学习JavaScript了。我试图执行该站点中给出的一个示例。出于某种原因,我无法使其发挥作用。希望这不是重复的问题。我没有得到警报信息。如果有任何错误,请告诉我,因为这是我学习过程的第一步。
编辑:我更正了代码。谢谢您的帮助。如上所述,我忘了关闭if块。希望不会再进一步投票。
JS
function validate() {
//A simple mail validation function. Checks only period and '@'.
var email = document.forms['loginForm']['email'].value;
var period = email.lastIndexOf('.');
var atPosition= email.indexOf('@');
if (period < 1 || period + 2 > email.length || atPosition!= email.lastIndexOf('@')) {
alert('Please enter a valid email address');
return false;
}
}
HTML
<form action='verify.do' id="loginForm" method='post' name='loginForm'
onsubmit='return validate()'>
E-Mail: <input autofocus="" name='email' type='text'><br>
<input type='submit' value='Submit'>
</form>
答案 0 :(得分:2)
您忘记了结束)
:
if (period < 1 || period + 2 > email.length || period != email.lastIndexOf('@') {
相反,它应该是:
if (period < 1 || period + 2 > email.length || period != email.lastIndexOf('@')) {
此外,您应该添加服务器端验证,因为这很容易被绕过。
此外,作为附注,警告中有一个字母s
太多:
alert('Please enter a valid email addresss');
=&gt; alert('Please enter a valid email address');