• 校验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);
            }
        }
  • 相关阅读:
    ORA-22835:缓冲区对于CLOB到CHAR转换而言太小
    C#发起Http请求,调用接口
    C#发起HTTP请求Post请求
    C# 调用HTTP接口两种方式Demo WebRequest/WebResponse 和WebApi
    SQL中的子查询
    C# 使用multipart form-data方式post数据到服务器
    批处理框架 Spring Batch 这么强,你会用吗
    JAVA基础(一)
    数据库---连接查询多表查询
    数据库---约束
  • 原文地址:https://www.cnblogs.com/goloving/p/7001810.html
Copyright © 2020-2023  润新知