JSFiddle - React, Tailwind, and code Playground
two IP addresses validation
by Akram kamal
HTML
<script src="http://ajax.aspnetcdn.com/ajax/jquery.validate/1.10.0/jquery.validate.min.js"></script>
<script src="http://ajax.aspnetcdn.com/ajax/jquery.validate/1.11.1/additional-methods.js"> </script>
<h1>Form Validation Example</h1>
<form id='agentsSearchForm' name='agentsSearchForm' method='post' action='' >
<label class="formLabel">IP Address</label>
<input type="text" class="mygroup" name="valueApiAddress" id="valueApiAddress" />
<br/>
<label class="formLabel">External IP Address</label>
<input type="text" class="mygroup" name="valueExternalApiAddress" name="valueExternalApiAddress" />
<br/>
<p>
<input type='submit' name='Submit' value='Submit' />
</p>
</form>
JavaScript
jQuery.validator.addMethod("ipAddressFormat",function(value, element){
theName = "IPaddress";
var ipPattern = /^(25[0-5]|2[0-4][0-9]|[0-1][0-9]{2}|[0-9]{2}|[0-9])(\.(25[0-5]|2[0-4][0-9]|[0-1][0-9]{2}|[0-9]{2}|[0-9])){3}$/;
var ipArray = value.match(ipPattern);
if (value == "0.0.0.0" || value == "255.255.255.255" ||
value == "10.1.0.0" || value == "10.1.0.255" || ipArray == null)
return false;
else {
for (i = 0; i < 4; i++) {
thisSegment = ipArray[i];
if (thisSegment > 254) {
return false;
}
if ((i == 0) && (thisSegment > 254)) {
return false;
}
}
}
return true;
}, "Invalid IP Address");
$(document).ready(function() {
$("#agentsSearchForm").validate({
rules: {
valueApiAddress: {
ipAddressFormat: true,
require_from_group: [1, '.mygroup']
},
valueExternalApiAddress: {
ipAddressFormat: true,
require_from_group: [1, '.mygroup']
},
valuePort: {
range: [1, 65535]
}
},
groups: {
theGroup: 'ipAddressFormat valueExternalApiAddress'
},
messages: {
valuePort: {
range: "Valid port range is 1 to 65535."
}
}
});
});