jQuery Add/Remove Input Fields

A script that uses event delegation and the .live() method for adding and deleting extra input form fields.

by Henry

HTML

<script src="https://code.jquery.com/jquery-1.12.0.min.js"></script>
<h2><a href="#" id="addScnt">Add Another Input Box</a></h2>

<div id="p_scents">
    <p>
        <label for="p_scnts"><input type="text" id="p_scnt" size="20" name="p_scnt" value="" placeholder="Input Value" /></label>
    </p>
</div>

CSS

* { font-family:Arial; }
h2 { padding:0 0 5px 5px; }
h2 a { color: #224f99; }
a { color:#999; text-decoration: none; }
a:hover { color:#802727; }
p { padding:0 0 5px 0; }

input { padding:5px; border:1px solid #999; border-radius:4px; -moz-border-radius:4px; -web-kit-border-radius:4px; -khtml-border-radius:4px; }

JavaScript

$(function() {
 
 var validateFirstpartEmail = function(emailval){
    var errFirstPart = true;
    var firstPart = emailval[0];
    var firstChar = firstPart.charAt(0);
    var lastChar = firstPart.charAt(firstPart.length-1);
    var email_valid = /^(?!\.)(?!.*\.$)(?!.*?\.\.)[A-Za-z0-9_'.!#$%&*+=?^{|}~-]*$/;
    var startOrEndChar = /^[A-Za-z0-9_'!#$%&*+=?^{|}]$/;
    if (firstPart.match(email_valid) && firstChar.match(startOrEndChar) && lastChar.match(startOrEndChar)) {
        // Email address is valid
        errFirstPart = true;
    } else {
        errFirstPart = false;
    }
    return errFirstPart;
};

var validateSubdomainEmail = function(emailSubDomainVal){
    var errCounterSubdomain = true;
    var domain_validation = /^(?!\.)(?!.*\.$)(?!.*?\.\.)[a-zA-Z0-9]+[a-zA-Z0-9-.]+[a-zA-Z0-9]$/;
    var subDomain = /^[a-zA-Z0-9-]*$/; // Allow only alphabet and -
    var subDomainLastChar = /[a-zA-Z0-9]$/; // Last char os each subdomain
    var subDomainFirstChar = /^[a-zA-Z0-9]/; // First char os each subdomain
    var secondPartArray = emailSubDomainVal.split(".");
    if(secondPartArray.length>1 && emailSubDomainVal.match(domain_validation)){
        for(var i=0;i<secondPartArray.length;i++)
        {
            var stringToTest = secondPartArray[i];
            if(stringToTest.match(subDomain) && stringToTest.match(subDomainLastChar) && stringToTest.match(subDomainFirstChar)){
                //console.log("vali sub domain")
                errCounterSubdomain = true;
            }
            else{
                errCounterSubdomain = false;
                break;
            }
        }
    }
    else{
        errCounterSubdomain = false;
    }
    return errCounterSubdomain;
};
var validateEmail = function(inputEmail) {

    var email = inputEmail;
    var isValidEmail = true;
    var valid_err_length = inputEmail.length;
    var errCounter = 0;
    if (valid_err_length < 65) {
        if(email.indexOf("@") != -1)
        {
            var arry =...