Skip to content

Instantly share code, notes, and snippets.

@ChR2
Forked from ksolo/form-validator.js
Last active December 22, 2015 09:48
Show Gist options
  • Save ChR2/6454150 to your computer and use it in GitHub Desktop.
Save ChR2/6454150 to your computer and use it in GitHub Desktop.
Form Validation
// shorthand for $(document).ready();
$(function(){
$('form').on("submit", function(event){
event.preventDefault();
var errors = false;
var email = document.forms["sign_up"]["email"].value;
var password = document.forms["sign_up"]["password"].value;
$('ul#errors').html('');
validateEmail(email);
validatePassword(password);
});
});
function validateEmail(email)
{
var reg = /^([\w-]+(?:\.[\w-]+)*)@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$/i
if (!reg.test(email)) {
$('ul#errors').append('<li> Must be valid email address </li>')
errors = true;
}
}
function validatePassword(password)
{
var reg = /.{8,}/;
if (!reg.test(password)) {
// $('ul#errors').remove('li');
$('ul#errors').append('<li> Password must be at least 8 characters long </li>');
errors = true;
}
var reg = /\d/;
if (!reg.test(password)){
$('ul#errors').append('<li> Password must have at least one numeric character (0-9) </li>');
errors = true;
}
var reg = /[A-Z]/;
if (!reg.test(password)){
$('ul#errors').append('<li> Password must have at least one capital letter </li>');
errors = true;
}
}
<!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