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;
}
}
}
}
});
});