(1)IP Pattern拆分为源IP Pattern,目的IP Pattern,Port Pattern

拆分为源端口Pattern,目的端口Pattern
(2)show more修改,并移动刀ipRegion.js中
(3)IP复用未作修改
(4)删除部分废弃的导入模板以及废弃的导入方法
This commit is contained in:
wangxin
2019-04-18 10:15:23 +08:00
parent 6bd04a92ce
commit 5a5bdddba4
90 changed files with 2957 additions and 3362 deletions

View File

@@ -297,66 +297,21 @@ jQuery.validator.addMethod("protocolPort",function(value, element) {
return true;
}
});
//ip地址校验
jQuery.validator.addMethod("ipCheck",function(value, element) {
/**
*将验证单独提出源IP目的IP分别调用该方法
*/
var validateIpPattern= function(ipType,ipPattern,value,element){
var ipv4_ip_subnet_regexp=/^(0|1\d{2}|2[0-4]\d|25[0-5]|[1-9]\d|[1-9])\.(0|1\d{2}|2[0-4]\d|25[0-5]|[1-9]\d|\d)\.(0|1\d{2}|2[0-4]\d|25[0-5]|[1-9]\d|\d)\.(0|1\d{2}|2[0-4]\d|25[0-5]|[1-9]\d|\d)\/(3[0-2]|1[6-9]|2[0-9])$/;
var ipv6_ip_subnet_regexp=/^((::)|(([0-9A-Fa-f]{1,4}:){7}[0-9A-Fa-f]{1,4})|(([0-9A-Fa-f]{1,4}:){1,7}:)|(([0-9A-Fa-f]{1,4}:){6}:[0-9A-Fa-f]{1,4})|(([0-9A-Fa-f]{1,4}:){5}(:[0-9A-Fa-f]{1,4}){1,2})|(([0-9A-Fa-f]{1,4}:){4}(:[0-9A-Fa-f]{1,4}){1,3})|(([0-9A-Fa-f]{1,4}:){3}(:[0-9A-Fa-f]{1,4}){1,4})|(([0-9A-Fa-f]{1,4}:){2}(:[0-9A-Fa-f]{1,4}){1,5})|([0-9A-Fa-f]{1,4}:(:[0-9A-Fa-f]{1,4}){1,6})|(:(:[0-9A-Fa-f]{1,4}){1,7})|(([0-9A-Fa-f]{1,4}:){6}(\d|[1-9]\d|1\d{2}|2[0-4]\d|25[0-5])(\.(\d|[1-9]\d|1\d{2}|2[0-4]\d|25[0-5])){3})|(([0-9A-Fa-f]{1,4}:){5}:(\d|[1-9]\d|1\d{2}|2[0-4]\d|25[0-5])(\.(\d|[1-9]\d|1\d{2}|2[0-4]\d|25[0-5])){3})|(([0-9A-Fa-f]{1,4}:){4}(:[0-9A-Fa-f]{1,4}){0,1}:(\d|[1-9]\d|1\d{2}|2[0-4]\d|25[0-5])(\.(\d|[1-9]\d|1\d{2}|2[0-4]\d|25[0-5])){3})|(([0-9A-Fa-f]{1,4}:){3}(:[0-9A-Fa-f]{1,4}){0,2}:(\d|[1-9]\d|1\d{2}|2[0-4]\d|25[0-5])(\.(\d|[1-9]\d|1\d{2}|2[0-4]\d|25[0-5])){3})|(([0-9A-Fa-f]{1,4}:){2}(:[0-9A-Fa-f]{1,4}){0,3}:(\d|[1-9]\d|1\d{2}|2[0-4]\d|25[0-5])(\.(\d|[1-9]\d|1\d{2}|2[0-4]\d|25[0-5])){3})|([0-9A-Fa-f]{1,4}:(:[0-9A-Fa-f]{1,4}){0,4}:(\d|[1-9]\d|1\d{2}|2[0-4]\d|25[0-5])(\.(\d|[1-9]\d|1\d{2}|2[0-4]\d|25[0-5])){3})|(:(:[0-9A-Fa-f]{1,4}){0,5}:(\d|[1-9]\d|1\d{2}|2[0-4]\d|25[0-5])(\.(\d|[1-9]\d|1\d{2}|2[0-4]\d|25[0-5])){3}))\/([2-9]|[1-9][0-9]|1[0-2][0-8])$/;
var ipv4_ip_range_regexp=/^(0|1\d{2}|2[0-4]\d|25[0-5]|[1-9]\d|[1-9])\.(0|1\d{2}|2[0-4]\d|25[0-5]|[1-9]\d|\d)\.(0|1\d{2}|2[0-4]\d|25[0-5]|[1-9]\d|\d)\.(0|1\d{2}|2[0-4]\d|25[0-5]|[1-9]\d|\d)-(0|1\d{2}|2[0-4]\d|25[0-5]|[1-9]\d|[1-9])\.(0|1\d{2}|2[0-4]\d|25[0-5]|[1-9]\d|\d)\.(0|1\d{2}|2[0-4]\d|25[0-5]|[1-9]\d|\d)\.(0|1\d{2}|2[0-4]\d|25[0-5]|[1-9]\d|\d)$/;
var ipv6_ip_range_regexp= /^((::)|(([0-9A-Fa-f]{1,4}:){7}[0-9A-Fa-f]{1,4})|(([0-9A-Fa-f]{1,4}:){1,7}:)|(([0-9A-Fa-f]{1,4}:){6}:[0-9A-Fa-f]{1,4})|(([0-9A-Fa-f]{1,4}:){5}(:[0-9A-Fa-f]{1,4}){1,2})|(([0-9A-Fa-f]{1,4}:){4}(:[0-9A-Fa-f]{1,4}){1,3})|(([0-9A-Fa-f]{1,4}:){3}(:[0-9A-Fa-f]{1,4}){1,4})|(([0-9A-Fa-f]{1,4}:){2}(:[0-9A-Fa-f]{1,4}){1,5})|([0-9A-Fa-f]{1,4}:(:[0-9A-Fa-f]{1,4}){1,6})|(:(:[0-9A-Fa-f]{1,4}){1,7})|(([0-9A-Fa-f]{1,4}:){6}(\d|[1-9]\d|1\d{2}|2[0-4]\d|25[0-5])(\.(\d|[1-9]\d|1\d{2}|2[0-4]\d|25[0-5])){3})|(([0-9A-Fa-f]{1,4}:){5}:(\d|[1-9]\d|1\d{2}|2[0-4]\d|25[0-5])(\.(\d|[1-9]\d|1\d{2}|2[0-4]\d|25[0-5])){3})|(([0-9A-Fa-f]{1,4}:){4}(:[0-9A-Fa-f]{1,4}){0,1}:(\d|[1-9]\d|1\d{2}|2[0-4]\d|25[0-5])(\.(\d|[1-9]\d|1\d{2}|2[0-4]\d|25[0-5])){3})|(([0-9A-Fa-f]{1,4}:){3}(:[0-9A-Fa-f]{1,4}){0,2}:(\d|[1-9]\d|1\d{2}|2[0-4]\d|25[0-5])(\.(\d|[1-9]\d|1\d{2}|2[0-4]\d|25[0-5])){3})|(([0-9A-Fa-f]{1,4}:){2}(:[0-9A-Fa-f]{1,4}){0,3}:(\d|[1-9]\d|1\d{2}|2[0-4]\d|25[0-5])(\.(\d|[1-9]\d|1\d{2}|2[0-4]\d|25[0-5])){3})|([0-9A-Fa-f]{1,4}:(:[0-9A-Fa-f]{1,4}){0,4}:(\d|[1-9]\d|1\d{2}|2[0-4]\d|25[0-5])(\.(\d|[1-9]\d|1\d{2}|2[0-4]\d|25[0-5])){3})|(:(:[0-9A-Fa-f]{1,4}){0,5}:(\d|[1-9]\d|1\d{2}|2[0-4]\d|25[0-5])(\.(\d|[1-9]\d|1\d{2}|2[0-4]\d|25[0-5])){3}))\-((::)|(([0-9A-Fa-f]{1,4}:){7}[0-9A-Fa-f]{1,4})|(([0-9A-Fa-f]{1,4}:){1,7}:)|(([0-9A-Fa-f]{1,4}:){6}:[0-9A-Fa-f]{1,4})|(([0-9A-Fa-f]{1,4}:){5}(:[0-9A-Fa-f]{1,4}){1,2})|(([0-9A-Fa-f]{1,4}:){4}(:[0-9A-Fa-f]{1,4}){1,3})|(([0-9A-Fa-f]{1,4}:){3}(:[0-9A-Fa-f]{1,4}){1,4})|(([0-9A-Fa-f]{1,4}:){2}(:[0-9A-Fa-f]{1,4}){1,5})|([0-9A-Fa-f]{1,4}:(:[0-9A-Fa-f]{1,4}){1,6})|(:(:[0-9A-Fa-f]{1,4}){1,7})|(([0-9A-Fa-f]{1,4}:){6}(\d|[1-9]\d|1\d{2}|2[0-4]\d|25[0-5])(\.(\d|[1-9]\d|1\d{2}|2[0-4]\d|25[0-5])){3})|(([0-9A-Fa-f]{1,4}:){5}:(\d|[1-9]\d|1\d{2}|2[0-4]\d|25[0-5])(\.(\d|[1-9]\d|1\d{2}|2[0-4]\d|25[0-5])){3})|(([0-9A-Fa-f]{1,4}:){4}(:[0-9A-Fa-f]{1,4}){0,1}:(\d|[1-9]\d|1\d{2}|2[0-4]\d|25[0-5])(\.(\d|[1-9]\d|1\d{2}|2[0-4]\d|25[0-5])){3})|(([0-9A-Fa-f]{1,4}:){3}(:[0-9A-Fa-f]{1,4}){0,2}:(\d|[1-9]\d|1\d{2}|2[0-4]\d|25[0-5])(\.(\d|[1-9]\d|1\d{2}|2[0-4]\d|25[0-5])){3})|(([0-9A-Fa-f]{1,4}:){2}(:[0-9A-Fa-f]{1,4}){0,3}:(\d|[1-9]\d|1\d{2}|2[0-4]\d|25[0-5])(\.(\d|[1-9]\d|1\d{2}|2[0-4]\d|25[0-5])){3})|([0-9A-Fa-f]{1,4}:(:[0-9A-Fa-f]{1,4}){0,4}:(\d|[1-9]\d|1\d{2}|2[0-4]\d|25[0-5])(\.(\d|[1-9]\d|1\d{2}|2[0-4]\d|25[0-5])){3})|(:(:[0-9A-Fa-f]{1,4}){0,5}:(\d|[1-9]\d|1\d{2}|2[0-4]\d|25[0-5])(\.(\d|[1-9]\d|1\d{2}|2[0-4]\d|25[0-5])){3}))$/;
var ipv4_ip_regexp=/^(0|1\d{2}|2[0-4]\d|25[0-5]|[1-9]\d|[1-9])\.(0|1\d{2}|2[0-4]\d|25[0-5]|[1-9]\d|\d)\.(0|1\d{2}|2[0-4]\d|25[0-5]|[1-9]\d|\d)\.(0|1\d{2}|2[0-4]\d|25[0-5]|[1-9]\d|\d)$/;
var ipv6_ip_regexp=/^((::)|(([0-9A-Fa-f]{1,4}:){7}[0-9A-Fa-f]{1,4})|(([0-9A-Fa-f]{1,4}:){1,7}:)|(([0-9A-Fa-f]{1,4}:){6}:[0-9A-Fa-f]{1,4})|(([0-9A-Fa-f]{1,4}:){5}(:[0-9A-Fa-f]{1,4}){1,2})|(([0-9A-Fa-f]{1,4}:){4}(:[0-9A-Fa-f]{1,4}){1,3})|(([0-9A-Fa-f]{1,4}:){3}(:[0-9A-Fa-f]{1,4}){1,4})|(([0-9A-Fa-f]{1,4}:){2}(:[0-9A-Fa-f]{1,4}){1,5})|([0-9A-Fa-f]{1,4}:(:[0-9A-Fa-f]{1,4}){1,6})|(:(:[0-9A-Fa-f]{1,4}){1,7})|(([0-9A-Fa-f]{1,4}:){6}(\d|[1-9]\d|1\d{2}|2[0-4]\d|25[0-5])(\.(\d|[1-9]\d|1\d{2}|2[0-4]\d|25[0-5])){3})|(([0-9A-Fa-f]{1,4}:){5}:(\d|[1-9]\d|1\d{2}|2[0-4]\d|25[0-5])(\.(\d|[1-9]\d|1\d{2}|2[0-4]\d|25[0-5])){3})|(([0-9A-Fa-f]{1,4}:){4}(:[0-9A-Fa-f]{1,4}){0,1}:(\d|[1-9]\d|1\d{2}|2[0-4]\d|25[0-5])(\.(\d|[1-9]\d|1\d{2}|2[0-4]\d|25[0-5])){3})|(([0-9A-Fa-f]{1,4}:){3}(:[0-9A-Fa-f]{1,4}){0,2}:(\d|[1-9]\d|1\d{2}|2[0-4]\d|25[0-5])(\.(\d|[1-9]\d|1\d{2}|2[0-4]\d|25[0-5])){3})|(([0-9A-Fa-f]{1,4}:){2}(:[0-9A-Fa-f]{1,4}){0,3}:(\d|[1-9]\d|1\d{2}|2[0-4]\d|25[0-5])(\.(\d|[1-9]\d|1\d{2}|2[0-4]\d|25[0-5])){3})|([0-9A-Fa-f]{1,4}:(:[0-9A-Fa-f]{1,4}){0,4}:(\d|[1-9]\d|1\d{2}|2[0-4]\d|25[0-5])(\.(\d|[1-9]\d|1\d{2}|2[0-4]\d|25[0-5])){3})|(:(:[0-9A-Fa-f]{1,4}){0,5}:(\d|[1-9]\d|1\d{2}|2[0-4]\d|25[0-5])(\.(\d|[1-9]\d|1\d{2}|2[0-4]\d|25[0-5])){3}))$/;
var name=$(element).attr("name");
if(value.length==0||value.trim().length==0){return true;}
var ipTypeE,ipPatternE,srcIpAddressE,destIpAddressE;
if(name.indexOf("srcIpAddress")>-1){
srcIpAddressE=$(element);
ipTypeE=$("select[name='"+name.replace("srcIpAddress","ipType")+"']");
ipPatternE=$("select[name='"+name.replace("srcIpAddress","ipPattern")+"']");
destIpAddressE=$("input[name='"+name.replace("srcIpAddress","destIpAddress")+"']");
}else if(name.indexOf("destIpAddress")>-1){
destIpAddressE=$(element);
ipTypeE=$("select[name='"+name.replace("destIpAddress","ipType")+"']");
ipPatternE=$("select[name='"+name.replace("destIpAddress","ipPattern")+"']");
srcIpAddressE=$("input[name='"+name.replace("destIpAddress","srcIpAddress")+"']");
}
var typeInt=ipTypeE.val();
var ipPattern=ipPatternE.val();
var srcIpAddress=srcIpAddressE.val();
var destIpAddress=destIpAddressE.val();
var srcIpIsHidden=srcIpAddressE.is(":hidden");
var destIpIsHidden=destIpAddressE.is(":hidden");
var IPv4RangeDefault="0.0.0.0-0.0.0.0";
if(ipPattern==1){//ip/掩码格式
srcIpAddress=srcIpAddress.indexOf("/") >-1 ?srcIpAddress.split("/")[0] : srcIpAddress;
destIpAddress=destIpAddress.indexOf("/") >-1 ?destIpAddress.split("/")[0] : destIpAddress;
}else if (ipPattern==2){
srcIpAddress=srcIpAddress.indexOf("-") >-1 ?srcIpAddress.split("-")[0] : srcIpAddress;
destIpAddress=destIpAddress.indexOf("-") >-1 ?destIpAddress.split("-")[0] : destIpAddress;
}
if(srcIpIsHidden){
if((srcIpAddress == destIpAddress)){
$.validator.messages.ipCheck=$.validator.messages.destIpIsNotValue+destIpAddress;
return false;
}
}else if(destIpIsHidden){
if((srcIpAddress == destIpAddress)){
$.validator.messages.ipCheck=$.validator.messages.srcIpIsNotValue+srcIpAddress;
return false;
}
}else{
if((srcIpAddress == destIpAddress)){
$.validator.messages.ipCheck=$.validator.messages.srcIpNotEqDestIp+srcIpAddress
+$.validator.messages.destIpNotEqDestIp+destIpAddress
+$.validator.messages.IpNotEqDestIp;
return false;
}
}
if(typeInt==4){
if(ipType==4){
if(ipPattern){
if(ipPattern==1){//ip/掩码格式
if(this.optional(element)||(/^(\d+)\.(\d+)\.(\d+)\.(\d+)\/(\d+)$/.test(value) && (RegExp.$1 <256 && RegExp.$2<256 && RegExp.$3<256 && RegExp.$4<256 && RegExp.$5<=32))){
if(jQuery.validator.prototype.optional(element)||(/^(\d+)\.(\d+)\.(\d+)\.(\d+)\/(\d+)$/.test(value) && (RegExp.$1 <256 && RegExp.$2<256 && RegExp.$3<256 && RegExp.$4<256 && RegExp.$5<=32))){
if(ipv4_ip_subnet_regexp.test(value)){
return true;
}else{
@@ -407,7 +362,7 @@ jQuery.validator.addMethod("ipCheck",function(value, element) {
return false;
}
}else if(ipPattern==3){//ip格式
if(this.optional(element)||ipv4_ip_regexp.test(value)){
if(jQuery.validator.prototype.optional(element)||ipv4_ip_regexp.test(value)){
return true;
}else{
$.validator.messages.ipCheck=$.validator.messages.ip;
@@ -415,16 +370,16 @@ jQuery.validator.addMethod("ipCheck",function(value, element) {
}
}
}else{//兼容原来的验证
if(this.optional(element)||ipv4_ip_regexp.test(value)){
if(jQuery.validator.prototype.optional(element)||ipv4_ip_regexp.test(value)){
return true;
}else{
$.validator.messages.ipCheck=$.validator.messages.ip;
return false;
}
}
}else if(typeInt==6){
}else if(ipType==6){
if(ipPattern==1){//ip/掩码格式
if(this.optional(element)||ipv6_ip_subnet_regexp.test(value)){
if(jQuery.validator.prototype.optional(element)||ipv6_ip_subnet_regexp.test(value)){
return true;
}else if(value.indexOf("/")==-1){
$.validator.messages.ipCheck=$.validator.messages.ipMask;
@@ -462,326 +417,14 @@ jQuery.validator.addMethod("ipCheck",function(value, element) {
}
return false;
}else if(ipPattern==3){//ip格式
if(this.optional(element)||ipv6_ip_regexp.test(value)){
if(jQuery.validator.prototype.optional(element)||ipv6_ip_regexp.test(value)){
return true;
}else{
$.validator.messages.ipCheck=$.validator.messages.ip;
return false;
}
}else{//兼容原来的验证
if(this.optional(element)||ipv6_ip_regexp.test(value)){
return true;
}else{
$.validator.messages.ipCheck=$.validator.messages.ip;
return false;
}
}
}else if(typeInt==46){
var name=$(element).attr("name");
if(name.indexOf("srcIpAddress")>-1){
if(ipPattern==1){//ip/掩码格式
if(this.optional(element)||(/^(\d+)\.(\d+)\.(\d+)\.(\d+)\/(\d+)$/.test(value) && (RegExp.$1 <256 && RegExp.$2<256 && RegExp.$3<256 && RegExp.$4<256 && RegExp.$5<=32))){
if(ipv4_ip_subnet_regexp.test(value)){
return true;
}else{
$.validator.messages.ipCheck=$.validator.messages.ipMaskRange;
return false;
}
}else if(RegExp.$5&&RegExp.$5>32){
$.validator.messages.ipCheck=$.validator.messages.ipMaskRange;
return false;
}else{
$.validator.messages.ipCheck=$.validator.messages.ipMask;
return false;
}
}else if(ipPattern==2){//ip range
//A类 0.0.0.0-127.255.255.255 默认掩码255.0.0.0
//B类128.0.0.0-191.255.255.255 默认掩码255.255.0.0
//C类192.0.0.0-223.255.255.255 默认掩码255.255.255.0
if(ipv4_ip_range_regexp.test(value)){
var startIp=value.split("-")[0];
var endIp=value.split("-")[1];
var startPart0=startIp.split(".")[0];
var startPart1=endIp.split(".")[0];
if(value==IPv4RangeDefault){
return true;
}
if((startPart0<128&&startPart1<128)||(startPart0>127&&startPart1>127&&startPart0<192&&startPart1<192)
||(startPart0>191&&startPart1>191&&startPart0<224&&startPart1<224)
||(startPart0>223&&startPart1>223&&startPart0<240&&startPart1<240)
||(startPart0>239&&startPart1>239&&startPart0<256&&startPart1<256)){//仅允许同段IP
if(ipToNumber(startIp)<=ipToNumber(endIp)){//比较IP大小
if((startIp.split(".")[0]!=endIp.split(".")[0])||
(startIp.split(".")[1]!=endIp.split(".")[1])||
(startIp.split(".")[2]!=endIp.split(".")[2])){
$.validator.messages.ipCheck=$.validator.messages.netAddress;
}else{
return true;
}
}else{
$.validator.messages.ipCheck=$.validator.messages.ipRange1;
return false;
}
}else{
$.validator.messages.ipCheck=$.validator.messages.ipRange;
return false;
}
}else{
$.validator.messages.ipCheck=$.validator.messages.ipRange;
return false;
}
}else if(ipPattern==3){//ip
if(this.optional(element)||ipv4_ip_regexp.test(value)){
return true;
}else{
$.validator.messages.ipCheck=$.validator.messages.ip;
return false;
}
}
}else if(name.indexOf("destIpAddress")>-1){
if(ipPattern==1){//ip/掩码格式
if(this.optional(element)||ipv6_ip_subnet_regexp.test(value)){
return true;
}else if(value.indexOf("/")==-1){
$.validator.messages.ipCheck=$.validator.messages.ipMask;
return false;
}else{
var ipMaskArr=value.split("/");
if(ipMaskArr.length!=2){
$.validator.messages.ipCheck=$.validator.messages.ipMask;
return false;
}else{
if(!ipv6_ip_regexp.test(ipMaskArr[0])){
$.validator.messages.ipCheck=$.validator.messages.ipPart;
return false;
//}else if(!/^(0|2|4|8|16|32|64|128)$/.test(ipMaskArr[1])){
}else if(!/^([2-9]|[1-9][0-9]|1[0-2][0-8])$/.test(ipMaskArr[1])){
$.validator.messages.ipCheck=$.validator.messages.ipv6MaskPart;
return false;
} else{
$.validator.messages.ipCheck=$.validator.messages.ipMask;
return false;
}
}
}
}else if(ipPattern==2){//ip range
$.validator.messages.ipCheck=$.validator.messages.ipRange;
if(ipv6_ip_range_regexp.test(value)){
var ipArr=value.split("-");
var startIp=fillIp(ipArr[0]);
var endIp=fillIp(ipArr[1]);
//默认比较前64位
var exp1=/^[0-9A-Fa-f]*:[0-9A-Fa-f]*:[0-9A-Fa-f]*:[0-9A-Fa-f]*/;
var startPre=String(startIp.match(exp1));
var endPre=String(endIp.match(exp1));
return startPre==endPre;
}
return false;
}else if(ipPattern==3){//ip格式
if(this.optional(element)||ipv6_ip_regexp.test(value)){
return true;
}else{
$.validator.messages.ipCheck=$.validator.messages.ip;
return false;
}
}else{//兼容原来的验证
if(this.optional(element)||ipv6_ip_regexp.test(value)){
return true;
}else{
$.validator.messages.ipCheck=$.validator.messages.ip;
return false;
}
}
}
}else if(typeInt==64){
var name=$(element).attr("name");
if(name.indexOf("srcIpAddress")>-1){
if(ipPattern==1){//ip/掩码格式
if(this.optional(element)||ipv6_ip_subnet_regexp.test(value)){
return true;
}else if(value.indexOf("/")==-1){
$.validator.messages.ipCheck=$.validator.messages.ipMask;
return false;
}else{
var ipMaskArr=value.split("/");
if(ipMaskArr.length!=2){
$.validator.messages.ipCheck=$.validator.messages.ipMask;
return false;
}else{
if(!ipv6_ip_regexp.test(ipMaskArr[0])){
$.validator.messages.ipCheck=$.validator.messages.ipPart;
return false;
//}else if(!/^(0|2|4|8|16|32|64|128)$/.test(ipMaskArr[1])){
}else if(!/^([2-9]|[1-9][0-9]|1[0-2][0-8])$/.test(ipMaskArr[1])){
$.validator.messages.ipCheck=$.validator.messages.ipv6MaskPart;
return false;
} else{
$.validator.messages.ipCheck=$.validator.messages.ipMask;
return false;
}
}
}
}else if(ipPattern==2){//ip range
$.validator.messages.ipCheck=$.validator.messages.ipRange;
if(ipv6_ip_range_regexp.test(value)){
var ipArr=value.split("-");
var startIp=fillIp(ipArr[0]);
var endIp=fillIp(ipArr[1]);
//默认比较前64位
var exp1=/^[0-9A-Fa-f]*:[0-9A-Fa-f]*:[0-9A-Fa-f]*:[0-9A-Fa-f]*/;
var startPre=String(startIp.match(exp1));
var endPre=String(endIp.match(exp1));
return startPre==endPre;
}
return false;
}else if(ipPattern==3){//ip格式
if(this.optional(element)||ipv6_ip_regexp.test(value)){
return true;
}else{
$.validator.messages.ipCheck=$.validator.messages.ip;
return false;
}
}else{//兼容原来的验证
if(this.optional(element)||ipv6_ip_regexp.test(value)){
return true;
}else{
$.validator.messages.ipCheck=$.validator.messages.ip;
return false;
}
}
}else if(name.indexOf("destIpAddress")>-1){
if(ipPattern==1){//ip/掩码格式
if(this.optional(element)||(/^(\d+)\.(\d+)\.(\d+)\.(\d+)\/(\d+)$/.test(value) && (RegExp.$1 <256 && RegExp.$2<256 && RegExp.$3<256 && RegExp.$4<256 && RegExp.$5<=32))){
if(ipv4_ip_subnet_regexp.test(value)){
return true;
}else{
$.validator.messages.ipCheck=$.validator.messages.ipMaskRange;
return false;
}
}else if(RegExp.$5&&RegExp.$5>32){
$.validator.messages.ipCheck=$.validator.messages.ipMaskRange;
return false;
}else{
$.validator.messages.ipCheck=$.validator.messages.ipMask;
return false;
}
}else if(ipPattern==2){//ip range
//A类 0.0.0.0-127.255.255.255 默认掩码255.0.0.0
//B类128.0.0.0-191.255.255.255 默认掩码255.255.0.0
//C类192.0.0.0-223.255.255.255 默认掩码255.255.255.0
if(ipv4_ip_range_regexp.test(value)){
var startIp=value.split("-")[0];
var endIp=value.split("-")[1];
var startPart0=startIp.split(".")[0];
var startPart1=endIp.split(".")[0];
if(value==IPv4RangeDefault){
return true;
}
if((startPart0<128&&startPart1<128)||(startPart0>127&&startPart1>127&&startPart0<192&&startPart1<192)
||(startPart0>191&&startPart1>191&&startPart0<224&&startPart1<224)
||(startPart0>223&&startPart1>223&&startPart0<240&&startPart1<240)
||(startPart0>239&&startPart1>239&&startPart0<256&&startPart1<256)){//仅允许同段IP
if(ipToNumber(startIp)<=ipToNumber(endIp)){//比较IP大小
if((startIp.split(".")[0]!=endIp.split(".")[0])||
(startIp.split(".")[1]!=endIp.split(".")[1])||
(startIp.split(".")[2]!=endIp.split(".")[2])){
$.validator.messages.ipCheck=$.validator.messages.netAddress;
}else{
return true;
}
}else{
$.validator.messages.ipCheck=$.validator.messages.ipRange1;
return false;
}
}else{
$.validator.messages.ipCheck=$.validator.messages.ipRange;
return false;
}
}else{
$.validator.messages.ipCheck=$.validator.messages.ipRange;
return false;
}
}else if(ipPattern==3){//ip
if(this.optional(element)||ipv4_ip_regexp.test(value)){
return true;
}else{
$.validator.messages.ipCheck=$.validator.messages.ip;
return false;
}
}
}
}else if(typeInt==10){
if(ipPattern){
if(ipPattern==1){//ip/掩码格式
if(ipv4_ip_subnet_regexp.test(value)){
return true;
}else if(ipv6_ip_subnet_regexp.test(value)){
return true;
}else{
$.validator.messages.ipCheck=$.validator.messages.ipMask;
return false;
}
}else if(ipPattern==2){//ip range
//A类 0.0.0.0-127.255.255.255 默认掩码255.0.0.0
//B类128.0.0.0-191.255.255.255 默认掩码255.255.0.0
//C类192.0.0.0-223.255.255.255 默认掩码255.255.255.0
if(ipv4_ip_range_regexp.test(value)){
var startIp=value.split("-")[0];
var endIp=value.split("-")[1];
var startPart0=startIp.split(".")[0];
var startPart1=endIp.split(".")[0];
if(value==IPv4RangeDefault){
return true;
}
if((startPart0<128&&startPart1<128)||(startPart0>127&&startPart1>127&&startPart0<192&&startPart1<192)
||(startPart0>191&&startPart1>191&&startPart0<224&&startPart1<224)
||(startPart0>223&&startPart1>223&&startPart0<240&&startPart1<240)
||(startPart0>239&&startPart1>239&&startPart0<256&&startPart1<256)){//仅允许同段IP
if(ipToNumber(startIp)<=ipToNumber(endIp)){//比较IP大小
if((startIp.split(".")[0]!=endIp.split(".")[0])||
(startIp.split(".")[1]!=endIp.split(".")[1])||
(startIp.split(".")[2]!=endIp.split(".")[2])){
$.validator.messages.ipCheck=$.validator.messages.netAddress;
}else{
return true;
}
}else{
$.validator.messages.ipCheck=$.validator.messages.ipRange1;
return false;
}
}else{
$.validator.messages.ipCheck=$.validator.messages.ipRange;
return false;
}
}else if(ipv6_ip_subnet_regexp.test(value)){
var ipArr=value.split("-");
var startIp=fillIp(ipArr[0]);
var endIp=fillIp(ipArr[1]);
//默认比较前64位
var exp1=/^[0-9A-Fa-f]*:[0-9A-Fa-f]*:[0-9A-Fa-f]*:[0-9A-Fa-f]*/;
var startPre=String(startIp.match(exp1));
var endPre=String(endIp.match(exp1));
if(startPre!=endPre){
$.validator.messages.ipCheck=$.validator.messages.ipRange;
return false;
}else{
return true;
}
}else{
$.validator.messages.ipCheck=$.validator.messages.ip;
return false;
}
}else if(ipPattern==3){//ip格式
if(ipv4_ip_regexp.test(value)||ipv6_ip_regexp.test(value)){
return true;
}else{
$.validator.messages.ipCheck=$.validator.messages.ip;
return false;
}
}
}else{//兼容原来的验证
if(this.optional(element)||(/^(\d+)\.(\d+)\.(\d+)\.(\d+)$/.test(value) && (RegExp.$1 <256 && RegExp.$2<256 && RegExp.$3<256 && RegExp.$4<256))){
if(jQuery.validator.prototype.optional(element)||ipv6_ip_regexp.test(value)){
return true;
}else{
$.validator.messages.ipCheck=$.validator.messages.ip;
@@ -792,6 +435,120 @@ jQuery.validator.addMethod("ipCheck",function(value, element) {
$.validator.messages.ipCheck=$.validator.messages.ip;
return false;
}
}
/**
* 校验IP V4范围交叉
*/
var validateIPV4Range=function(srcIp,destIp){
var ipv4_ip_regexp=/^(0|1\d{2}|2[0-4]\d|25[0-5]|[1-9]\d|[1-9])\.(0|1\d{2}|2[0-4]\d|25[0-5]|[1-9]\d|\d)\.(0|1\d{2}|2[0-4]\d|25[0-5]|[1-9]\d|\d)\.(0|1\d{2}|2[0-4]\d|25[0-5]|[1-9]\d|\d)$/;
var srcStart=0,srcEnd=0,destStart=0,destEnd=0;
if(srcIp.indexOf("-") >-1){
if(ipv4_ip_regexp.test(srcIp.split('-')[0])){
srcStart=ipToNumber(srcIp.split('-')[0]);
}
if(ipv4_ip_regexp.test(srcIp.split('-')[1])){
srcEnd=ipToNumber(srcIp.split('-')[1]);
}
}
if(destIp.indexOf("-") >-1){
if(ipv4_ip_regexp.test(destIp.split('-')[0])){
destStart=ipToNumber(destIp.split('-')[0]);
}
if(ipv4_ip_regexp.test(destIp.split('-')[1])){
destEnd=ipToNumber(destIp.split('-')[1]);
}
}
if(srcStart>0||srcEnd>0){
if(destStart>0||destEnd>0){
if(srcStart>destEnd||srcEnd<destStart){
}else{
var tip=$.validator.format($.validator.messages.rangeCross1);
$.validator.messages.ipCheck=tip(srcIp,destIp);
return false;
}
}else if(ipv4_ip_regexp.test(destIp)){
if(srcStart<=ipToNumber(destIp)&&ipToNumber(destIp)<=srcEnd){
var tip=$.validator.format($.validator.messages.rangeCross0);
$.validator.messages.ipCheck=tip(destIp,srcIp.split('-')[0],srcIp.split('-')[1]);
return false;
}
}
}else if(destStart>0||destEnd>0){
if(ipv4_ip_regexp.test(srcIp)){
if(destStart<=ipToNumber(srcIp)&&ipToNumber(srcIp)<=destEnd){
var tip=$.validator.format($.validator.messages.rangeCross0);
$.validator.messages.ipCheck=tip(srcIp,destIp.split('-')[0],destIp.split('-')[1]);
return false;
}
}
}
//$.validator.messages.ipCheck="";
return true;
}
//ip地址校验
jQuery.validator.addMethod("ipCheck",function(value, element) {
var name=$(element).attr("name");
if(value.length==0||value.trim().length==0){return true;}
var ipTypeE,srcIpPatternE,descIpPatternE,srcIpAddressE,destIpAddressE;
if(name.indexOf("srcIpAddress")>-1){
srcIpAddressE=$(element);
ipTypeE=$("select[name='"+name.replace("srcIpAddress","ipType")+"']");
srcIpPatternE=$("select[name='"+name.replace("srcIpAddress","srcIpPattern")+"']");
destIpPatternE=$("select[name='"+name.replace("srcIpAddress","destIpPattern")+"']");
destIpAddressE=$("input[name='"+name.replace("srcIpAddress","destIpAddress")+"']");
}else if(name.indexOf("destIpAddress")>-1){
destIpAddressE=$(element);
ipTypeE=$("select[name='"+name.replace("destIpAddress","ipType")+"']");
srcIpPatternE=$("select[name='"+name.replace("destIpAddress","srcIpPattern")+"']");
destIpPatternE=$("select[name='"+name.replace("destIpAddress","destIpPattern")+"']");
srcIpAddressE=$("input[name='"+name.replace("destIpAddress","srcIpAddress")+"']");
}
var typeInt=ipTypeE.val();
var srcIpPattern=srcIpPatternE.val();
var destIpPattern=destIpPatternE.val();
var srcIpAddress=srcIpAddressE.val();
var destIpAddress=destIpAddressE.val();
var srcIpIsHidden=srcIpAddressE.is(":hidden");
var destIpIsHidden=destIpAddressE.is(":hidden");
if(srcIpPattern==1){//ip/掩码格式
srcIpAddress=srcIpAddress.indexOf("/") >-1 ?srcIpAddress.split("/")[0] : srcIpAddress;
}else if (srcIpPattern==2){
srcIpAddress=srcIpAddress.indexOf("-") >-1 ?srcIpAddress.split("-")[0] : srcIpAddress;
}
if(destIpPattern==1){//ip/掩码格式
destIpAddress=destIpAddress.indexOf("/") >-1 ?destIpAddress.split("/")[0] : destIpAddress;
}else if (destIpPattern==2){
destIpAddress=destIpAddress.indexOf("-") >-1 ?destIpAddress.split("-")[0] : destIpAddress;
}
if(srcIpIsHidden){
if((srcIpAddress == destIpAddress)){
$.validator.messages.ipCheck=$.validator.messages.destIpIsNotValue+destIpAddress;
return false;
}
}else if(destIpIsHidden){
if((srcIpAddress == destIpAddress)){
$.validator.messages.ipCheck=$.validator.messages.srcIpIsNotValue+srcIpAddress;
return false;
}
}else{
if((srcIpAddress == destIpAddress)){
$.validator.messages.ipCheck=$.validator.messages.srcIpNotEqDestIp+srcIpAddress
+$.validator.messages.destIpNotEqDestIp+destIpAddress
+$.validator.messages.IpNotEqDestIp;
return false;
}
}
var srcValid=true,destValid=true;
if(name.indexOf("srcIpAddress")>-1){
srcValid=validateIpPattern(typeInt,srcIpPattern,value, element);
}else{
destValid=validateIpPattern(typeInt,destIpPattern,value, element);
}
if(srcValid&&destValid){
return validateIPV4Range(srcIpAddressE.val().indexOf("/")>-1?srcIpAddressE.val().split('/')[0]:srcIpAddressE.val(),destIpAddressE.val().indexOf("/")>-1?destIpAddressE.val().split('/')[0]:destIpAddressE.val());
}else{
return false;
}
}, $.validator.messages.ip);
//ip地址掩码校验
jQuery.validator.addMethod("ipMask",function(value, element) {
@@ -817,15 +574,17 @@ jQuery.validator.addMethod("ipMask",function(value, element) {
}, $.validator.messages.ipMask);
jQuery.validator.addMethod("portCheck",function(value, element) {
if(value.length==0||value.trim().length==0){return true;}
var typeInt=$(element).parents(".row").parent(".row").find("select[name$='portPattern']").val();
if(typeInt==1){//port 0~65535
var name=$(element).attr("name");
var portPattern=$(element).parents(".row").parent(".row").find("select[name$='"+name+"Pattern']").val();
if(portPattern==1){//port 0~65535
if(this.optional(element)||(/^(0|[1-9][0-9]{0,4})$/.test(value)&& RegExp.$1 <=65535)){
return true;
}else{
$.validator.messages.portCheck=$.validator.messages.portRange
return false;
}
}else if(typeInt==2){// port -mask 0~65535/0~65535
}else if(portPattern==2){// port -mask 0~65535/0~65535
if(this.optional(element)||(/^(0|[1-9][0-9]{0,4})\/(0|[1-9][0-9]{0,4})$/.test(value) && RegExp.$1 <=65535 && RegExp.$2 <=65535)){
return true;
}else{
@@ -855,9 +614,12 @@ jQuery.validator.addMethod("areaControl",function(value, element) {
return true;
}
});
/*
jQuery.validator.addMethod("areaIp",function(value, element) {
var typeInt=$(element).parents(".row").parent(".row").find("select[name$='ipType']").val();
var ipPattern=$(element).parents(".row").parent(".row").find("select[name$='ipPattern']").val();
var name=$(element).attr(name);
var srcIpPattern=$(element).parents(".row").parent(".row").find("select[name$='srcIpPattern']").val();
var destIpPattern=$(element).parents(".row").parent(".row").find("select[name$='destIpPattern']").val();
var msg=$.validator.messages.areaIpPrefix;
if(typeInt==4){
if(ipPattern==3){
@@ -907,6 +669,7 @@ jQuery.validator.addMethod("areaIp",function(value, element) {
}
}
});
*/
jQuery.validator.addMethod("checkParent",function(value, element) {
var parentType=$(element).attr("parent-type");
if(parentType&&parentType!=0&&parentType!=value){

View File

@@ -94,6 +94,8 @@
expireTip:"Start time and end time interval is at least 1 minute",
compareTip:"Start time should not be less than the current time plus 2 minutes.",
compileIdCheck:"Please enter the correct query format",
compileIdCheckNum:"The number of queries should not be greater than 200"
compileIdCheckNum:"The number of queries should not be greater than 200",
rangeCross0:"The IP {0} must not between {1} and {2}",
rangeCross1:"The IP range {0} has intersections with {1}"
});
}(jQuery));

View File

@@ -94,6 +94,8 @@
expireTip:"Start time and end time interval is at least 1 minute",
compareTip:"Start time should not be less than the current time plus 2 minutes.",
compileIdCheck:"Please enter the correct query format",
compileIdCheckNum:"The number of queries should not be greater than 200"
compileIdCheckNum:"The number of queries should not be greater than 200",
rangeCross0:"The IP {0} must not between {1} and {2}",
rangeCross1:"The IP range {0} has intersections with {1}"
});
}(jQuery));

View File

@@ -94,6 +94,8 @@
expireTip:"开始时间结束时间间隔至少为1分钟",
compareTip:"开始时间不能小于当前时间加上2分钟 ",
compileIdCheck:"请输入正确的查询格式",
compileIdCheckNum:"查询个数不能大于200"
compileIdCheckNum:"查询个数不能大于200",
rangeCross0:"IP{0}不能介于{1}和{2}",
rangeCross1:"IP范围{0}和IP范围{1}有交集"
});
}(jQuery));

View File

@@ -227,6 +227,14 @@ $(function(){
$("select[name$='portPattern']").on("change",function(){
switchIpInfo(this);
});
//src IP pattern dest IP pattern
$("select[name$='IpPattern']").on("change",function(){
switchIpInfo(this);
});
//src port pattern dest port pattern
$("select[name$='PortPattern']").on("change",function(){
switchIpInfo(this);
});
switchAction($("input[name='action']:checked").val());
@@ -249,6 +257,9 @@ $(function(){
obj.find("select[name$='ipPattern']").on("change",function(){
switchIpInfo($(this));
});
obj.find("select[name$='IpPattern']").on("change",function(){
switchIpInfo($(this));
});
obj.appendTo("#areaIp");
$("#areaIsp").find(".container-fluid").each(function(){
if(!$(this).hasClass("hidden")) $(this).remove();
@@ -713,13 +724,6 @@ $(function(){
$(".boxSolid:visible").each(function(){
$(this).prev("h4").find(".glyphicon-plus").addClass("hidden");
});
//IP域修改时默认展开,不显示show more
if($("input[name='compileId']")&&$("input[name='compileId']").val()!=0&&($(".btn-red-hollow").parents(".boxSolid").is(":visible")||$("input[name$='cfgRegionCode']").length==1)){
$(".port").removeClass("hidden").removeClass("disabled");
$(".destPort").removeClass("hidden").removeClass("disabled");
$(".protocol").removeClass("hidden").removeClass("disabled");
$(".btn-red-hollow").addClass("hidden");
}
$("#messageBox .close").on("click",function(){
heightDiv(1);
@@ -892,52 +896,6 @@ var setDefaultMatchMethod=function (obj){
$(obj).parents(".row").parent(".row").find("select[name$='matchMethod']").selectpicker("refresh");
}
}
var switchIpType=function(obj){
var type=$(obj).val();
var row=$(obj).parents('.row');
var ipPattern=row.siblings().find("input[name$='ipPattern']");
var portPattern=row.siblings().find("input[name$='portPattern']");
var srcIp=row.siblings().find("input[name$='srcIpAddress']");
var dstIp=row.siblings().find("input[name$='destIpAddress']");
var srcPort=row.siblings().find("input[name$='srcPort']");
var dstPort=row.siblings().find("input[name$='destPort']");
if(4==type){
if(!$(srcIp).val()){
$(srcIp).val("0.0.0.0");
}else if($(srcIp).val()=="::"){
$(srcIp).val("0.0.0.0");
}
if(!$(dstIp).val()){
$(dstIp).val("0.0.0.0");
}else if($(dstIp).val()=="::"){
$(dstIp).val("0.0.0.0");
}
if(!$(srcPort).val()){
$(srcPort).val("0");
}
if(!$(dstPort).val()){
$(dstPort).val("0");
}
}
if(6==type){
if(!$(srcIp).val()){
$(srcIp).val("::");
}else if($(srcIp).val()=="0.0.0.0"){
$(srcIp).val("::");
}
if(!$(dstIp).val()){
$(dstIp).val("::");
}else if($(dstIp).val()=="0.0.0.0"){
$(dstIp).val("::");
}
if(!$(srcPort).val()){
$(srcPort).val("0");
}
if(!$(dstPort).val()){
$(dstPort).val("0");
}
}
}
var switchAction=function(action){
/********************dns reject时选择策略**********************/
if(action == 16){ //reject
@@ -986,16 +944,16 @@ var switchAction=function(action){
$(".doLog").removeClass("hidden");
}*/
}
//ipType、ipPattern、portPattern选项变化时调用此方法添加默认值
//ipType、srcIpPattern,destIpPattern、srcPortPattern,destPortPattern选项变化时调用此方法添加默认值
var switchIpInfo=function(obj){
var ipType="";
var ipPattern="";
var portPattern="";
var ipType="",srcIpPattern="",destIpPattern="",srcPortPattern="",destPortPattern="";
var row=$(obj).parents('.row').parent('.row');
ipType=row.find("select[name$='ipType']").val();
ipPattern=row.find("select[name$='ipPattern']").val();
portPattern=row.find("select[name$='portPattern']").val();
srcIpPattern=row.find("select[name$='srcIpPattern']").val();
destIpPattern=row.find("select[name$='destIpPattern']").val();
srcPortPattern=row.find("select[name$='srcPortPattern']").val();
destPortPattern=row.find("select[name$='destPortPattern']").val();
var srcIp=row.find("input[name$='srcIpAddress']");
var destIp=row.find("input[name$='destIpAddress']");
var srcPort=row.find("input[name$='srcPort']");
@@ -1029,25 +987,23 @@ var switchIpInfo=function(obj){
//IPv4设置默认值
if(4==ipType){
if(!$(srcIp).val()){
if(ipPattern==1){
if(srcIpPattern==1){
$(srcIp).val(srcIpV4Default[0]);
}else if(ipPattern==2){
}else if(srcIpPattern==2){
$(srcIp).val(srcIpV4Default[1]);
}else if(ipPattern==3){
}else if(srcIpPattern==3){
$(srcIp).val(srcIpV4Default[2]);
}else{
$(srcIp).val(srcIpV4Default[2]);
}
}else{
if($.inArray($(srcIp).val(),srcIpV4Default) > -1
|| $.inArray($(srcIp).val(),destIpV4Default) > -1
|| $.inArray($(srcIp).val(),srcIpV6Default) > -1
|| $.inArray($(srcIp).val(),destIpV6Default) > -1){ //是ipV4的默认值其中一个
if(ipPattern==1){
|| $.inArray($(srcIp).val(),srcIpV6Default) > -1 ){ //是ipV4的默认值其中一个
if(srcIpPattern==1){
$(srcIp).val(srcIpV4Default[0]);
}else if(ipPattern==2){
}else if(srcIpPattern==2){
$(srcIp).val(srcIpV4Default[1]);
}else if(ipPattern==3){
}else if(srcIpPattern==3){
$(srcIp).val(srcIpV4Default[2]);
}else{
$(srcIp).val(srcIpV4Default[2]);
@@ -1055,25 +1011,23 @@ var switchIpInfo=function(obj){
}
}
if(!$(destIp).val()){
if(ipPattern==1){
if(destIpPattern==1){
$(destIp).val(destIpV4Default[0]);
}else if(ipPattern==2){
}else if(destIpPattern==2){
$(destIp).val(destIpV4Default[1]);
}else if(ipPattern==3){
}else if(destIpPattern==3){
$(destIp).val(destIpV4Default[2]);
}else{
$(destIp).val(destIpV4Default[2]);
}
}else{
if($.inArray($(destIp).val(),srcIpV4Default) > -1
|| $.inArray($(destIp).val(),destIpV4Default) > -1
|| $.inArray($(destIp).val(),srcIpV6Default) > -1
if($.inArray($(destIp).val(),destIpV4Default) > -1
|| $.inArray($(destIp).val(),destIpV6Default) > -1){
if(ipPattern==1){
if(destIpPattern==1){
$(destIp).val(destIpV4Default[0]);
}else if(ipPattern==2){
}else if(destIpPattern==2){
$(destIp).val(destIpV4Default[1]);
}else if(ipPattern==3){
}else if(destIpPattern==3){
$(destIp).val(destIpV4Default[2]);
}else{
$(destIp).val(destIpV4Default[2]);
@@ -1083,25 +1037,23 @@ var switchIpInfo=function(obj){
}
if(6==ipType){
if(!$(srcIp).val()){
if(ipPattern==1){
if(srcIpPattern==1){
$(srcIp).val(srcIpV6Default[0]);
}else if(ipPattern==2){
}else if(srcIpPattern==2){
$(srcIp).val(srcIpV6Default[1]);
}else if(ipPattern==3){
}else if(srcIpPattern==3){
$(srcIp).val(srcIpV6Default[2]);
}else{
$(srcIp).val(srcIpV6Default[2]);
}
}else{
if($.inArray($(srcIp).val(),srcIpV4Default) > -1
|| $.inArray($(srcIp).val(),destIpV4Default) > -1
|| $.inArray($(srcIp).val(),srcIpV6Default) > -1
|| $.inArray($(srcIp).val(),destIpV6Default) > -1){ //是ipV6的默认值其中一个
if(ipPattern==1){
|| $.inArray($(srcIp).val(),srcIpV6Default) > -1 ){ //是ipV6的默认值其中一个
if(srcIpPattern==1){
$(srcIp).val(srcIpV6Default[0]);
}else if(ipPattern==2){
}else if(srcIpPattern==2){
$(srcIp).val(srcIpV6Default[1]);
}else if(ipPattern==3){
}else if(srcIpPattern==3){
$(srcIp).val(srcIpV6Default[2]);
}else{
$(srcIp).val(srcIpV6Default[2]);
@@ -1109,25 +1061,23 @@ var switchIpInfo=function(obj){
}
}
if(!$(destIp).val()){
if(ipPattern==1){
if(destIpPattern==1){
$(destIp).val(destIpV6Default[0]);
}else if(ipPattern==2){
}else if(destIpPattern==2){
$(destIp).val(destIpV6Default[1]);
}else if(ipPattern==3){
}else if(destIpPattern==3){
$(destIp).val(destIpV6Default[2]);
}else{
$(destIp).val(srcIpV6Default[2]);
}
}else{
if($.inArray($(destIp).val(),srcIpV4Default) > -1
|| $.inArray($(destIp).val(),destIpV4Default) > -1
|| $.inArray($(destIp).val(),srcIpV6Default) > -1
if($.inArray($(destIp).val(),destIpV4Default) > -1
|| $.inArray($(destIp).val(),destIpV6Default) > -1){ //是ipV6的默认值其中一个
if(ipPattern==1){
if(destIpPattern==1){
$(destIp).val(destIpV6Default[0]);
}else if(ipPattern==2){
}else if(destIpPattern==2){
$(destIp).val(destIpV6Default[1]);
}else if(ipPattern==3){
}else if(destIpPattern==3){
$(destIp).val(destIpV6Default[2]);
}else{
$(destIp).val(srcIpV6Default[2]);
@@ -1135,152 +1085,20 @@ var switchIpInfo=function(obj){
}
}
}
if(46==ipType){
if(!$(srcIp).val()){
if(ipPattern==1){
$(srcIp).val(srcIpV4Default[0]);
}else if(ipPattern==2){
$(srcIp).val(srcIpV4Default[1]);
}else if(ipPattern==3){
$(srcIp).val(srcIpV4Default[2]);
}else{
$(srcIp).val(srcIpV4Default[2]);
}
}else{
if($.inArray($(srcIp).val(),srcIpV4Default) > -1
|| $.inArray($(srcIp).val(),destIpV4Default) > -1
|| $.inArray($(srcIp).val(),srcIpV6Default) > -1
|| $.inArray($(srcIp).val(),destIpV6Default) > -1){
if(ipPattern==1){
$(srcIp).val(srcIpV4Default[0]);
}else if(ipPattern==2){
$(srcIp).val(srcIpV4Default[1]);
}else if(ipPattern==3){
$(srcIp).val(srcIpV4Default[2]);
}else {
$(srcIp).val(srcIpV4Default[2]);
}
}
}
if(!$(destIp).val()){
if(ipPattern==1){
$(destIp).val(destIpV6Default[0]);
}else if(ipPattern==2){
$(destIp).val(destIpV6Default[1]);
}else if(ipPattern==3){
$(destIp).val(destIpV6Default[2]);
}else{
$(destIp).val(destIpV6Default[2]);
}
}else{
if($.inArray($(destIp).val(),srcIpV4Default) > -1
|| $.inArray($(destIp).val(),destIpV4Default) > -1
|| $.inArray($(destIp).val(),srcIpV6Default) > -1
|| $.inArray($(destIp).val(),destIpV6Default) > -1){
if(ipPattern==1){
$(destIp).val(destIpV6Default[0]);
}else if(ipPattern==2){
$(destIp).val(destIpV6Default[1]);
}else if(ipPattern==3){
$(destIp).val(destIpV6Default[2]);
}else{
$(destIp).val(destIpV6Default[2]);
}
}
}
}
if(64==ipType){
if(!$(srcIp).val()){
if(ipPattern==1){
$(srcIp).val(srcIpV6Default[0]);
}else if(ipPattern==2){
$(srcIp).val(srcIpV6Default[1]);
}else if(ipPattern==3){
$(srcIp).val(srcIpV6Default[2]);
}else{
$(srcIp).val(srcIpV6Default[2]);
}
}else{
if($.inArray($(srcIp).val(),srcIpV4Default) > -1
|| $.inArray($(srcIp).val(),destIpV4Default) > -1
|| $.inArray($(srcIp).val(),srcIpV6Default) > -1
|| $.inArray($(srcIp).val(),destIpV6Default) > -1){
if(ipPattern==1){
$(srcIp).val(srcIpV6Default[0]);
}else if(ipPattern==2){
$(srcIp).val(srcIpV6Default[1]);
}else if(ipPattern==3){
$(srcIp).val(srcIpV6Default[2]);
}else{
$(srcIp).val(srcIpV6Default[2]);
}
}
}
if(!$(destIp).val()){
if(ipPattern==1){
$(destIp).val(srcIpV4Default[0]);
}else if(ipPattern==2){
$(destIp).val(srcIpV4Default[1]);
}else if(ipPattern==3){
$(destIp).val(srcIpV4Default[2]);
}else{
$(destIp).val(srcIpV4Default[2]);
}
}else{
if($.inArray($(destIp).val(),srcIpV4Default) > -1
|| $.inArray($(destIp).val(),destIpV4Default) > -1
|| $.inArray($(destIp).val(),srcIpV6Default) > -1
|| $.inArray($(destIp).val(),destIpV6Default) > -1){
if(ipPattern==1){
$(destIp).val(destIpV4Default[0]);
}else if(ipPattern==2){
$(destIp).val(destIpV4Default[1]);
}else if(ipPattern==3){
$(destIp).val(destIpV4Default[2]);
}else{
$(destIp).val(destIpV4Default[2]);
}
}
}
}
if(10==ipType){
if(!$(srcIp).val()){
if(ipPattern==1){
$(srcIp).val(srcIpV4Default[0]);
}else if(ipPattern==2){
$(srcIp).val(srcIpV4Default[1]);
}else if(ipPattern==3){
$(srcIp).val(srcIpV4Default[2]);
}else{
$(srcIp).val(srcIpV4Default[2]);
}
}
if(!$(destIp).val()){
if(ipPattern==1){
$(destIp).val(destIpV4Default[0]);
}else if(ipPattern==2){
$(destIp).val(destIpV4Default[1]);
}else if(ipPattern==3){
$(destIp).val(destIpV4Default[2]);
}else{
$(destIp).val(destIpV4Default[2]);
}
}
}
//设置源端口默认值
if(!$(srcPort).val()){
if(portPattern==1){
if(srcPortPattern==1){
$(srcPort).val(portDefault[0]);
}else if(portPattern==2){
}else if(srcPortPattern==2){
$(srcPort).val(portDefault[1]);
}else{
$(srcPort).val(portDefault[0]);
}
}else{
if($.inArray($(srcPort).val(),portDefault) > -1){ //是ipV4的默认值其中一个
if(portPattern==1){
if(srcPortPattern==1){
$(srcPort).val(portDefault[0]);
}else if(portPattern==2){
}else if(srcPortPattern==2){
$(srcPort).val(portDefault[1]);
}else{
$(srcPort).val(portDefault[0]);
@@ -1289,18 +1107,18 @@ var switchIpInfo=function(obj){
}
//设置目的端口默认值
if(!$(destPort).val()){
if(portPattern==1){
if(destPortPattern==1){
$(destPort).val(portDefault[0]);
}else if(portPattern==2){
}else if(destPortPattern==2){
$(destPort).val(portDefault[1]);
}else{
$(destPort).val(portDefault[0]);
}
}else{
if($.inArray($(destPort).val(),portDefault) > -1){ //是port的默认值其中一个
if(portPattern==1){
if(destPortPattern==1){
$(destPort).val(portDefault[0]);
}else if(portPattern==2){
}else if(destPortPattern==2){
$(destPort).val(portDefault[1]);
}else{
$(destPort).val(portDefault[0]);
@@ -1336,27 +1154,6 @@ var page=function(n,s){
return false;
}
//show more 添加更多属性
var more=function(obj){
var clickTimes=$(obj).data("click-times");
if(clickTimes==0){
$(".port").removeClass("hidden").removeClass("disabled");
$(obj).data("click-times",clickTimes+1);
}
if(clickTimes==1){
$(".destPort").removeClass("hidden").removeClass("disabled");
$(obj).data("click-times",clickTimes+1);
}
if(clickTimes==2){
$(".protocol").removeClass("hidden").removeClass("disabled");
$(obj).data("click-times",clickTimes+1);
}
var rows=$(obj).parent(".row").siblings(".row:hidden");
if(rows.size()==0){
$(obj).addClass("hidden");
}
}
var viewAreaInfo=function(path,areaEffectiveIds,compileId){
$.ajax({
type:'post',
@@ -1387,6 +1184,7 @@ var viewAreaInfo=function(path,areaEffectiveIds,compileId){
html+="</tbody>";
html+="</table>";
}
/*
if(data.areaIps.length > 0){
title=$.validator.messages.area+" ip";
html+="<table class='table table-striped table-bordered table-condensed' style='margin-left: 10px; width: 96%;margin-top: 15px;'>";
@@ -1432,7 +1230,7 @@ var viewAreaInfo=function(path,areaEffectiveIds,compileId){
}
html+="</tbody>";
html+="</table>";
}
}*/
top.$.jBox(html,{width: $(document).width()*0.4,height: 400,title:title, buttons:false});
}

View File

@@ -9,22 +9,71 @@
});
$.extend($.ipcommon, {
ipType:[],
ipPattern:[],
portPattern:[],
srcIpPattern:[],
destIpPattern:[],
srcPortPattern:[],
destPortPattern:[],
protocol:[],
direction:[]
});
})(jQuery);
$(function(){
initCommIpVal();
//IP域修改时默认展开,不显示show more
if($("input[name='compileId']")&&$("input[name='compileId']").val()!=0&&($(".btn-red-hollow").parents(".boxSolid").is(":visible")||$("input[name$='cfgRegionCode']").length==1)){
$(".port").removeClass("hidden").removeClass("disabled");
$(".destPort").removeClass("hidden").removeClass("disabled");
$(".protocol").removeClass("hidden").removeClass("disabled");
$(".ipCol:hidden").removeClass("hidden").removeClass("disabled");
$(".btn-red-hollow").addClass("hidden");
}
});
window.$.ipcommon=$.ipcommon;
/**
* 初始化格式处理
*/
var processPattern=function(selector,pattern){
if("ipType"==selector){
$.ipcommon.ipType=$("select[name$='ipType'] option");
}else if("srcIpPattern"==selector){
$.ipcommon.srcIpPattern=$("select[name$='srcIpPattern'] option");
}else if("destIpPattern"==selector){
$.ipcommon.destIpPattern=$("select[name$='destIpPattern'] option");
}else if("srcPortPattern"==selector){
$.ipcommon.srcPortPattern=$("select[name$='srcPortPattern'] option");
}else if("destPortPattern"==selector){
$.ipcommon.destPortPattern=$("select[name$='destPortPattern'] option");
}else if("direction"==selector){
$.ipcommon.direction=$("select[name$='direction'] option");
}else if("protocol"==selector){
$.ipcommon.protocol=$("select[name$='protocol'] option");
}
if(pattern){
var arr=pattern.split(',');
$("select[name$='"+selector+"'] option").each(function(){
var has=false;
for(var type in arr){
if($(this).val()==arr[type]){
has=true;
if($(this).attr("disabled")){
$(this).removeAttr("disabled")
}
break;
}
}
if(!has){
$(this).remove();
}
});
}
}
/**
* ip默认选项处理
*/
var initCommIpVal=function(){
var action,regionCode,serviceType,ipPortShow,ipType,
ipPattern,portPattern,direction,protocol,regionType;
srcIpPattern,destIpPattern,srcPortPattern,destPortPattern,
direction,protocol,regionType;
if($("input[name$='action']:checked").length>0){
regionCode=$("input[name$='action']:checked").attr("regionCode");
action=$("input[name$='action']:checked").val();
@@ -55,16 +104,20 @@ var initCommIpVal=function(){
if(regionCode){//IP域大于1个根据action获取ip属性
ipPortShow=$("input[name$='cfgRegionCode'][value='"+regionCode+"']").attr("ipPortShow"),
ipType=$("input[name$='cfgRegionCode'][value='"+regionCode+"']").attr("ipType"),
ipPattern=$("input[name$='cfgRegionCode'][value='"+regionCode+"']").attr("ipPattern"),
portPattern=$("input[name$='cfgRegionCode'][value='"+regionCode+"']").attr("portPattern"),
srcIpPattern=$("input[name$='cfgRegionCode'][value='"+regionCode+"']").attr("srcIpPattern"),
destIpPattern=$("input[name$='cfgRegionCode'][value='"+regionCode+"']").attr("destIpPattern"),
srcPortPattern=$("input[name$='cfgRegionCode'][value='"+regionCode+"']").attr("srcPortPattern"),
destPortPattern=$("input[name$='cfgRegionCode'][value='"+regionCode+"']").attr("destPortPattern"),
direction=$("input[name$='cfgRegionCode'][value='"+regionCode+"']").attr("direction"),
protocol=$("input[name$='cfgRegionCode'][value='"+regionCode+"']").attr("protocol"),
regionType=$("input[name$='cfgRegionCode'][value='"+regionCode+"']").attr("regionType");
}else{//IP域只有一个获取regionType为1的
ipPortShow=$("input[name$='cfgRegionCode'][regionType='1']").attr("ipPortShow"),
ipType=$("input[name$='cfgRegionCode'][regionType='1']").attr("ipType"),
ipPattern=$("input[name$='cfgRegionCode'][regionType='1']").attr("ipPattern"),
portPattern=$("input[name$='cfgRegionCode'][regionType='1']").attr("portPattern"),
srcIpPattern=$("input[name$='cfgRegionCode'][regionType='1']").attr("srcIpPattern"),
destIpPattern=$("input[name$='cfgRegionCode'][regionType='1']").attr("destIpPattern"),
srcPortPattern=$("input[name$='cfgRegionCode'][regionType='1']").attr("srcPortPattern"),
destPortPattern=$("input[name$='cfgRegionCode'][regionType='1']").attr("destPortPattern"),
direction=$("input[name$='cfgRegionCode'][regionType='1']").attr("direction"),
protocol=$("input[name$='cfgRegionCode'][regionType='1']").attr("protocol"),
regionType=$("input[name$='cfgRegionCode'][regionType='1']").attr("regionType");
@@ -73,124 +126,92 @@ var initCommIpVal=function(){
if(ipPortShow){
if(ipPortShow.indexOf('1')>-1){//展示源IP
$("input[name$='srcIpAddress']").parents(".form-group").removeClass("hidden");
$("select[name$='srcIpPattern']").parents(".form-group").removeClass("hidden");
}else{
$("input[name$='srcIpAddress']").parents(".form-group").addClass("hidden");
$("select[name$='srcIpPattern']").parents(".form-group").addClass("hidden");
if(!$("input[name$='srcIpAddress']").parents(".ipCol").is(":hidden")){
$("input[name$='srcIpAddress']").parents(".ipCol").addClass("hidden");
}
}
if(ipPortShow.indexOf('2')>-1){//展示源端口
$("input[name$='srcPort']").parents(".form-group").removeClass("hidden");
$("select[name$='srcPortPattern']").parents(".form-group").removeClass("hidden");
}else{
$("input[name$='srcPort']").parents(".form-group").addClass("hidden");
$("select[name$='srcPortPattern']").parents(".form-group").addClass("hidden");
}
if(ipPortShow.indexOf('3')>-1){//展示目的IP
$("input[name$='destIpAddress']").parents(".form-group").removeClass("hidden");
$("select[name$='destIpPattern']").parents(".form-group").removeClass("hidden");
//当源IP不展示的时候目的IP要默认展示
if($("input[name$='destIpAddress']").parents(".ipCol")&&ipPortShow.indexOf('1')==-1){
$("input[name$='destIpAddress']").parents(".ipCol").removeClass("hidden");
}
}else{
$("input[name$='destIpAddress']").parents(".form-group").addClass("hidden");
$("select[name$='destIpPattern']").parents(".form-group").addClass("hidden");
}
if(ipPortShow.indexOf('4')>-1){//展示目的端口
$("input[name$='destPort']").parents(".form-group").removeClass("hidden");
$("select[name$='destPortPattern']").parents(".form-group").removeClass("hidden");
}else{
$("input[name$='destPort']").parents(".form-group").addClass("hidden");
$("select[name$='destPortPattern']").parents(".form-group").addClass("hidden");
}
}
//ip类型处理
$.ipcommon.ipType=$("select[name$='ipType'] option");
if(ipType){
var arr=ipType.split(',');
$("select[name$='ipType'] option").each(function(){
var has=false;
for(var type in arr){
if($(this).val()==arr[type]){
has=true;
if($(this).attr("disabled")){
$(this).removeAttr("disabled")
}
break;
}
}
if(!has){
$(this).remove();
}
});
processPattern("ipType",ipType);
}
//ip格式处理
$.ipcommon.ipPattern=$("select[name$='ipPattern'] option");
if(ipPattern){
arr=ipPattern.split(',');
$("select[name$='ipPattern'] option").each(function(){
var has=false;
for(var type in arr){
if($(this).val()==arr[type]){
has=true;
if($(this).attr("disabled")){
$(this).removeAttr("disabled")
}
break;
}
}
if(!has){
$(this).remove();
}
});
if(srcIpPattern){
processPattern("srcIpPattern",srcIpPattern);
}
//端口格式处理
$.ipcommon.portPattern=$("select[name$='portPattern'] option");
if(portPattern){
arr=portPattern.split(',');
$("select[name$='portPattern'] option").each(function(){
var has=false;
for(var type in arr){
if($(this).val()==arr[type]){
has=true;
if($(this).attr("disabled")){
$(this).removeAttr("disabled")
}
break;
}
}
if(!has){
$(this).remove();
}
});
if(destIpPattern){
processPattern("destIpPattern",destIpPattern);
}
if(srcPortPattern){
processPattern("srcPortPattern",srcPortPattern);
}
if(destPortPattern){
processPattern("destPortPattern",destPortPattern);
}
//方向处理
$.ipcommon.direction=$("select[name$='direction'] option");
if(direction){
arr=direction.split(',');
$("select[name$='direction'] option").each(function(){
var has=false;
for(var type in arr){
if($(this).val()==arr[type]){
has=true;
if($(this).attr("disabled")){
$(this).removeAttr("disabled")
}
break;
}
}
if(!has){
$(this).remove();
}
});
processPattern("direction",direction);
}
//协议处理
$.ipcommon.protocol=$("select[name$='protocol'] option");
if(protocol){
arr=protocol.split(',');
$("select[name$='protocol'] option").each(function(){
processPattern("protocol",protocol);
}
}
var changePattern=function(o,selector,pattern){
if(pattern){
arr=pattern.split(',');
var ipPatternVal=o.find("select[name$='"+selector+"'] option:selected").attr("value");
o.find("select[name$='"+selector+"']").empty();
var patterns=selector=="srcIpPattern"?$.ipcommon.srcIpPattern:
selector=="destIpPattern"?$.ipcommon.destIpPattern:
selector=="srcPortPattern"?$.ipcommon.srcPortPattern:
selector=="destPortPattern"?$.ipcommon.destPortPattern:[];
$(patterns).each(function(){
var has=false;
for(var type in arr){
if($(this).val()==arr[type]){
has=true;
if($(this).attr("disabled")){
$(this).removeAttr("disabled")
}
o.find("select[name$='"+selector+"']").append($(this));
break;
}
}
if(!has){
$(this).remove();
}
});
o.find("select[name$='"+selector+"']").selectpicker("refresh");
if(o.find("select[name$='"+selector+"'] option[value='"+ipPatternVal+"']").length>0){
o.find("select[name$='"+selector+"']").selectpicker("val",ipPatternVal);
}else{
if(o.find("select[name$='"+selector+"'] option[value=1]").length>0){
o.find("select[name$='"+selector+"']").selectpicker("val",1);
}else{
o.find("select[name$='"+selector+"']").get(0).selectedIndex=0;
o.find("select[name$='"+selector+"']").selectpicker("refresh");
}
}
}
}
/**
@@ -198,7 +219,7 @@ var initCommIpVal=function(){
*/
var changeIPVal=function(obj){
var action,regionCode,serviceType,ipPortShow,ipType,
ipPattern,portPattern,direction,protocol,regionType,o;
srcIpPattern,destIpPattern,srcPortPattern,destPortPattern,direction,protocol,regionType,o;
o=$(obj);
if($("input[name$='action']:checked").length>0){
regionCode=$("input[name$='action']:checked").attr("regionCode");
@@ -230,16 +251,20 @@ var changeIPVal=function(obj){
if(regionCode){//IP域大于1个根据action获取ip属性
ipPortShow=$("input[name$='cfgRegionCode'][value='"+regionCode+"']").attr("ipPortShow"),
ipType=$("input[name$='cfgRegionCode'][value='"+regionCode+"']").attr("ipType"),
ipPattern=$("input[name$='cfgRegionCode'][value='"+regionCode+"']").attr("ipPattern"),
portPattern=$("input[name$='cfgRegionCode'][value='"+regionCode+"']").attr("portPattern"),
srcIpPattern=$("input[name$='cfgRegionCode'][value='"+regionCode+"']").attr("srcIpPattern"),
destIpPattern=$("input[name$='cfgRegionCode'][value='"+regionCode+"']").attr("destIpPattern"),
srcPortPattern=$("input[name$='cfgRegionCode'][value='"+regionCode+"']").attr("srcPortPattern"),
destPortPattern=$("input[name$='cfgRegionCode'][value='"+regionCode+"']").attr("destPortPattern"),
direction=$("input[name$='cfgRegionCode'][value='"+regionCode+"']").attr("direction"),
protocol=$("input[name$='cfgRegionCode'][value='"+regionCode+"']").attr("protocol"),
regionType=$("input[name$='cfgRegionCode'][value='"+regionCode+"']").attr("regionType");
}else{//IP域只有一个获取regionType为1的
ipPortShow=$("input[name$='cfgRegionCode'][regionType='1']").attr("ipPortShow"),
ipType=$("input[name$='cfgRegionCode'][regionType='1']").attr("ipType"),
ipPattern=$("input[name$='cfgRegionCode'][regionType='1']").attr("ipPattern"),
portPattern=$("input[name$='cfgRegionCode'][regionType='1']").attr("portPattern"),
srcIpPattern=$("input[name$='cfgRegionCode'][regionType='1']").attr("srcIpPattern"),
destIpPattern=$("input[name$='cfgRegionCode'][regionType='1']").attr("destIpPattern"),
srcPortPattern=$("input[name$='cfgRegionCode'][regionType='1']").attr("srcPortPattern"),
destPortPattern=$("input[name$='cfgRegionCode'][regionType='1']").attr("destPortPattern"),
direction=$("input[name$='cfgRegionCode'][regionType='1']").attr("direction"),
protocol=$("input[name$='cfgRegionCode'][regionType='1']").attr("protocol"),
regionType=$("input[name$='cfgRegionCode'][regionType='1']").attr("regionType");
@@ -249,23 +274,31 @@ var changeIPVal=function(obj){
if(ipPortShow){
if(ipPortShow.indexOf('1')>-1){//展示源IP
$("input[name$='srcIpAddress']").parents(".form-group").removeClass("hidden");
$("select[name$='srcIpPattern']").parents(".form-group").removeClass("hidden");
}else{
$("input[name$='srcIpAddress']").parents(".form-group").addClass("hidden");
$("select[name$='srcIpPattern']").parents(".form-group").addClass("hidden");
}
if(ipPortShow.indexOf('2')>-1){//展示源端口
$("input[name$='srcPort']").parents(".form-group").removeClass("hidden");
$("select[name$='srcPortPattern']").parents(".form-group").removeClass("hidden");
}else{
$("input[name$='srcPort']").parents(".form-group").addClass("hidden");
$("select[name$='srcPortPattern']").parents(".form-group").addClass("hidden");
}
if(ipPortShow.indexOf('3')>-1){//展示目的IP
$("input[name$='destIpAddress']").parents(".form-group").removeClass("hidden");
$("select[name$='destIpPattern']").parents(".form-group").removeClass("hidden");
}else{
$("input[name$='destIpAddress']").parents(".form-group").addClass("hidden");
$("select[name$='destIpPattern']").parents(".form-group").addClass("hidden");
}
if(ipPortShow.indexOf('4')>-1){//展示目的端口
$("input[name$='destPort']").parents(".form-group").removeClass("hidden");
$("select[name$='destPortPattern']").parents(".form-group").removeClass("hidden");
}else{
$("input[name$='destPort']").parents(".form-group").addClass("hidden");
$("select[name$='destPortPattern']").parents(".form-group").addClass("hidden");
}
}
//ip类型处理
@@ -296,60 +329,14 @@ var changeIPVal=function(obj){
}
}
//ip格式处理
if(ipPattern){
arr=ipPattern.split(',');
var ipPatternVal=o.find("select[name$='ipPattern'] option:selected").attr("value");
o.find("select[name$='ipPattern']").empty();
$.ipcommon.ipPattern.each(function(){
var has=false;
for(var type in arr){
if($(this).val()==arr[type]){
has=true;
o.find("select[name$='ipPattern']").append($(this));
break;
}
}
});
o.find("select[name$='ipPattern']").selectpicker("refresh");
if(o.find("select[name$='ipPattern'] option[value='"+ipPatternVal+"']").length>0){
o.find("select[name$='ipPattern']").selectpicker("val",ipPatternVal);
}else{
if(o.find("select[name$='ipPattern'] option[value=1]").length>0){
o.find("select[name$='ipPattern']").selectpicker("val",1);
}else{
o.find("select[name$='ipPattern']").get(0).selectedIndex=0;
o.find("select[name$='ipPattern']").selectpicker("refresh");
}
}
}
//端口格式处理
if(portPattern){
arr=portPattern.split(',');
var portPatternVal=o.find("select[name$='portPattern'] option:selected").attr("value");
o.find("select[name$='portPattern']").empty();
$.ipcommon.portPattern.each(function(){
var has=false;
for(var type in arr){
if($(this).val()==arr[type]){
has=true;
o.find("select[name$='portPattern']").append($(this));
break;
}
}
});
o.find("select[name$='portPattern']").selectpicker("refresh");
if(o.find("select[name$='portPattern'] option[value='"+portPatternVal+"']").length>0){
o.find("select[name$='portPattern']").selectpicker("val",portPatternVal);
}else{
if(o.find("select[name$='portPattern'] option[value=1]").length>0){
o.find("select[name$='portPattern']").selectpicker("val",1);
}else{
o.find("select[name$='portPattern']").get(0).selectedIndex=0;
o.find("select[name$='portPattern']").selectpicker("refresh");
}
}
}
//ip格式处理
changePattern(o,"srcIpPattern",srcIpPattern);
//目的ip格式处理
changePattern(o,"destIpPattern",destIpPattern);
//源端口格式处理
changePattern(o,"srcPortPattern",srcPortPattern);
//目的源端口格式处理
changePattern(o,"destPortPattern",destPortPattern);
//方向处理
if(direction){
arr=direction.split(',');
@@ -405,4 +392,42 @@ var changeIPVal=function(obj){
}
}
}
}
//show more 添加更多属性
var more=function(obj){
var moreCols=$(obj).parents(".row").siblings(".ipCol").not(":hidden").last().nextAll(":hidden");
if(moreCols.length==0){
var clickTimes=$(obj).data("click-times");
if(clickTimes==0){
$(".port").removeClass("hidden").removeClass("disabled");
$(obj).data("click-times",clickTimes+1);
}
if(clickTimes==1){
$(".destPort").removeClass("hidden").removeClass("disabled");
$(obj).data("click-times",clickTimes+1);
}
if(clickTimes==2){
$(".protocol").removeClass("hidden").removeClass("disabled");
$(obj).data("click-times",clickTimes+1);
}
var rows=$(obj).parent(".row").siblings(".row:hidden");
if(rows.size()==0){
$(obj).addClass("hidden");
}
}else{
if(moreCols.length>0){
//$(moreCols[0]).removeClass("hidden").removeClass("disabled");
$(moreCols).each(function(i){
$(this).removeClass("hidden").removeClass("disabled");
if($(this).find("form-group:hidden").length>0){
return true;
}else{
return false;
}
});
if($(obj).parents(".row").siblings(".ipCol").not(":hidden").last().nextAll(":hidden").length==0){
$(obj).addClass("hidden");
}
}
}
}