Skip to content

Instantly share code, notes, and snippets.

@kmazanec
Forked from ksolo/form-validator.js
Last active December 24, 2015 00:40
Show Gist options
  • Save kmazanec/6718398 to your computer and use it in GitHub Desktop.
Save kmazanec/6718398 to your computer and use it in GitHub Desktop.
Form Validation
// shorthand for $(document).ready();
function verifyEmail (email) {
var em_re = /^(([^<>()[\]\\.,;:\s@\"]+(\.[^<>()[\]\\.,;:\s@\"]+)*)|(\".+\"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/;
return em_re.test(email);
}
$(function(){
$("form").on("submit", function(event){
$('#errors').empty();
if (! verifyEmail(event.target.email.value)) {
$('#errors').append("<li>Must be a valid email address</li");
event.preventDefault();
}
if (!(/.*\d.*/.test(event.target.password.value))) {
$('#errors').append("<li>Password must include at least one digit</li");
event.preventDefault();
}
if (!(/.*[A-Z].*/.test(event.target.password.value))) {
$('#errors').append("<li>Password must include at least one capital letter</li");
event.preventDefault();
}
if (event.target.password.value.length < 8) {
$('#errors').append("<li>Password must be at least 8 characters long</li");
event.preventDefault();
}
});
});
<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8">
<link rel="stylesheet" href="main.css">
<title>Form Validation</title>
</head>
<body>
<form name="sign_up" action="#" method="post">
<label for="email">Email</label>
<input type="text" name="email" />
<label for="password">Password</label>
<input type="password" name="password" />
<button type="submit">Sign Up</button>
<ul id="errors"></ul>
</form><body>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script>
<script src="form-validator.js"></script>
</body>
</html>
ul#errors {
color: red;
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment