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