JavaScript: validating an e-mail address without regular expressions
by Rich Costello
HTML
<form action="#" method="post" id="node-webform-2825">
<div>
<input type="text" name="email" id="email" />
<input type="submit" name="submit" value="Test" />
</div>
</form>
JavaScript
var checkEmail = function(value) {
var valid = true;
if (value.indexOf('@') == -1) {
valid = false;
} else {
var parts = value.split('@');
var domain = parts[1];
if (domain.indexOf('.') == -1) {
valid = false;
} else {
var domainParts = domain.split('.');
var ext = domainParts[1];
if (ext.length > 4 || ext.length < 2) {
valid = false;
}
}
}
return valid;
};
var form = document.getElementById('node-webform-2825');
var validate = function(event) {
event.preventDefault();
var val = document.getElementById('email').value;
var valid = checkEmail(val);
if (!valid) {
alert('Not a valid e-mail address');
} else {
alert('Valid e-mail address');
}
};
form.addEventListener('submit', validate, false);