zoukankan      html  css  js  c++  java
  • 校验IPv4和IPv6地址和URL地址

    1、校验IPV4地址:

    function validateIp(obj) {
    	var ip=$(obj).val();
    	var re=/^(d+).(d+).(d+).(d+)$/;//正则表达式     
    	if(re.test(ip))     
    	{     
    	if( RegExp.$1<256 && RegExp.$2<256 && RegExp.$3<256 && RegExp.$4<256)   
    	return true;     
    	}  
    	$(obj).val("");
    	dialogTop('<s:text name='cems.valid.ipIllegal'></s:text>',"alert alert-warning");
    	return false;  	
    }
    

     调用:onblur="validateIp(this)"

    function addFilterIp(){
    	var append='<div class="filter_ip_div" style="margin-top:5px;">'
    		+'<input type="text" class="form-control " style="135.5px;display:inline" onblur="validateIp(this)">'
    		+'~<input type="text" class="form-control " style="135.5px;display:inline" onblur="validateIp(this)">'
    		+'<img src="${basePath}/images/delete.png" onclick="delFilterIp(this)"/></div>';
    	$("#filter_ip_td").append(append);
    	//if($("#filter_begin_ip").val() && $("#filter_end_ip").val()){
    	//	$("#filter_ip_td").append(append);
    	//};
    	controlButton("filterItem_window");
    }
    

    2、检验IPV6地址:

    function isIPv6(str){
    	if(str.indexOf(":") >= 0){//需要加上判断:号是否存在,因为如果不存在冒号,就没必要走进来判断;同时如果没有冒号,会报错:cann't read "length" of null
    		return str.match(/:/g).length<=7 && /::/.test(str) ? /^([da-f]{1,4}(:|::)){1,6}[da-f]{1,4}$/i.test(str) : /^([da-f]{1,4}:){7}[da-f]{1,4}$/i.test(str);
    	}
    }
    

     3、优化后的IPV4校验和执行函数:

    function isIPv4(str){
    	var re=/^(d+).(d+).(d+).(d+)$/;//正则表达式     
    	if(re.test(str)){     
    	    if( RegExp.$1<256 && RegExp.$2<256 && RegExp.$3<256 && RegExp.$4<256)   
    	    return true;  
    	};
    }
    function validateIp(obj) {
    	 var ip=$(obj).val(); 
    	 if(isIPv4(ip) || isIPv6(ip))     
    	 {  
    	     return true;     
    	 }  
    	 $(obj).val("");
    	 dialogTop('<s:text name='cems.valid.ipIllegal'></s:text>',"alert alert-warning");
    	 return false;	
    }
    

     4、IP地址大小校验

    /**
     *    验证后面的IP是否比前面的大
     */
    function ipIsLarge(startIp,endIp) {
        endIp = _ip2int(endIp);  
        startIp = _ip2int(startIp);
        if (endIp>=startIp) {  
            return true;
        } else {
            dialogMsg("终止IP必须大于等于起始IP",0);
            return false;
        }
    }
    //IP转成整型
    function _ip2int(ip) {
        var num = 0;
        ip = ip.split(".");
        num = Number(ip[0]) * 256 * 256 * 256 + Number(ip[1]) * 256 * 256 + Number(ip[2]) * 256 + Number(ip[3]);
        num = num >>> 0;
        return num;
    }
    /*验证是否添加了相同的ip段*/
    function isDiffrentIP(ipBegin, ipEnd){
        var num=$("#"+tableId).jqGrid("getRowData").length;
        for(var i = 0; i < num; i++){
            if((ipBegin === $("#"+tableId).jqGrid("getRowData")[i].ipBegin) && (ipEnd === $("#"+tableId).jqGrid("getRowData")[i].ipEnd)){
                dialogMsg("请不要输入重复的ip段",0);
                return false;
            }
        }
        return true;
    }

     5、URL地址校验

    //网址验证
        function isURL(str_url){
            var reg=/(http|ftp|https)://[w-_]+(.[w-_]+)+([w-.,@?^=%&:/~+#]*[w-@?^=%&/~+#])?/;
            if (reg.test(str_url)){
                return (true);
            }else{
                return (false);
            }
        }
  • 相关阅读:
    sql获取当天零点
    byte[]和InputStream的相互转换
    ResultSet获取记录条数
    Java:String和Date、Timestamp之间的转换
    查询表中blob字段的大小
    Oracle中start with...connect by子句的用法
    oracle创建序列,并插入记录
    关于使用JSONArray.fromObject()方法和引入net.sf.json包所需要的jar包支持
    css来控制img正方形自适应
    上下固定中间自适应
  • 原文地址:https://www.cnblogs.com/goloving/p/7001810.html
Copyright © 2011-2022 走看看