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() {
 
  $("#p_scnt").blur(function() {
      var email = "[email protected]";
      var arry = email.split("@");
      console.log(arry[0]) //demo
      console.log(arry[1]) //gmail.com 
      var firstPart = arry[0];
      var secondPart = arry[1];
      var firstChar = firstPart.charAt(0);
      var lastChar = firstPart.charAt(firstPart.length-1);
      
       console.log("length of array :", secondPart);
       console.log("First Char :", firstChar);
       console.log("Last Char :", lastChar);
       var email_valid = /^(?!\.)(?!.*\.$)(?!.*?\.\.)[A-Za-z0-9_'.!#$%&*+=?^{|}~-]*$/;
        // ^(?!\.)(?!.*\.$)(?!.*?\.\.)[A-Za-z0-9_'.!#$%&*+=?^{|}~-]*$ // First part before @
        
        var startOrEndChar = /^[A-Za-z0-9_'!#$%&*+=?^{|}]$/;
       
        var domain_validation = /^(?!\.)(?!.*\.$)(?!.*?\.\.)[a-zA-Z0-9]+[a-zA-Z0-9-.]+[a-zA-Z0-9]$/;
        var subDomain = /^[a-zA-Z0-9]+[a-zA-Z0-9-]+[a-zA-Z0-9]$/;
       if(arry.length > 2)
       {
       		console.log("Invalid Email first if")
       }
       else{
       		
          if (firstPart.match(email_valid) && firstChar.match(startOrEndChar) && lastChar.match(startOrEndChar)) {
            // Email address is valid
            	console.log("Valid email");
            } else {
               console.log("InValid email last if");
            }
            
            var secondPartArray = secondPart.split(".");
            if(secondPart.match(domain_validation))
            {
            	for(var i=0;i<secondPartArray.length;i++)
              {
              	var stringToTest = secondPartArray[i];
                if(stringToTest && stringToTest.match(subDomain))
                {
                	console.log("vali sub domain")
                }
                else
                {
                
                		console.log("Email fail in subdomain");
                    break;
                }
              }
            }
       }
    });
});