Only EDU and AC Emails

Validate to only accept EDU and AC emails

by Thomas Orthbandt

HTML

<script src="http://ajax.aspnetcdn.com/ajax/jquery.validate/1.9/jquery.validate.js"></script>
<form id="mktoForm_1682">


<form>
  <label for="Email" id="LblEmail" class="mktoLabel mktoHasWidth" style="width: 200px;"><div class="mktoAsterix">*</div>Work Email</label>
  <input id="Email" name="Email" maxlength="255" type="email">
  <button type='submit' id='validate'>Validate!</button>
</form>

<h2 id='result'></h2>

CSS

.label {
  width: 65px;
  display: inline-block;
}

label.error {
  color: #f00;
  font-style: italic;
  font-size: 0.8em;
  padding-left: 5px;
}

JavaScript

/*$.validator.addMethod("edu", function(value, element) {
  return (this.optional(element) || value.slice(-4) == ".edu" || value.slice(-3) == ".ac");
}, "You must use a .edu or .ac email address");

$("#mktoForm_1682").validate({
  rules: {
    Email: {
      required: true,
      email: true,
      edu: true
    }
  }
});*/
function validateEmail(email) {
  const 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 re.test(email);
}

function validate() {
  const $result = $("#result");
  const email = $("#Email").val('.edu');
  $result.text("edu");

  if (validateEmail(email)) {
    $result.text(email + " is valid :)");
    $result.css("color", "green");
  } else {
    $result.text(email + " please use an EDU email alias ");
    $result.css("color", "red");
  }
  return false;
}

$("#validate").on("click", validate);