JavaScript中对于ip校验+将多层嵌套对象转层平级对象

JavaScript中对于ip校验+将多层嵌套对象转层平级对象,第1张

将多层嵌套对象转层平级对象

//将多层嵌套对象转层平级对象
  //       * @param {*} obj 待转换的对象

 {
        key: 'flatObjectDeep',
        value: function flatObjectDeep(obj) {
                var flatObjec = {};
                var copyObject = __.cloneDeep(obj);
                for (var key in copyObject) {
                    if (__.isPlainObject(copyObject[key])) {
                        if (!__.isEmpty(copyObject[key])) {
                            flatObjec = __.assign({}, flatObjec, copyObject[key]);
                        }
                    } else {
                        flatObjec[key] = copyObject[key];
                    }
                }
                return flatObjec;
            }
    }
ip校验

{
        key: 'checkIp',
        value: function checkIp(strIP) {
            var re = /^(\d{1,3}|\*)\.(\d{1,3}|\*)\.(\d{1,3}|\*)\.(\d{1,3}|\*)$/g; // 模糊匹配IP地址的正则表达式
            var res = /^(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})-(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})$/g; // 模糊匹配IP地址的正则表达式
            //  var reg =  /^(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])\.(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])\.(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])\.(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])-(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])\.(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])\.(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])\.(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])$/;
            if (re.test(strIP) || res.test(strIP)) {
                if (RegExp.$1 === '*' && RegExp.$2 === '*' && RegExp.$3 === '*' && RegExp.$4 === '*' && !RegExp.$5 && !RegExp.$6 && !RegExp.$7 && !RegExp.$8) {
                    return true;
                }
                if (RegExp.$1 < 256 && RegExp.$2 === '*' && RegExp.$3 === '*' && RegExp.$4 === '*' && !RegExp.$5 && !RegExp.$6 && !RegExp.$7 && !RegExp.$8) {
                    return true;
                }
                if (RegExp.$1 < 256 && RegExp.$2 < 256 && RegExp.$3 === '*' && RegExp.$4 === '*' && !RegExp.$5 && !RegExp.$6 && !RegExp.$7 && !RegExp.$8) {
                    return true;
                }
                if (RegExp.$1 < 256 && RegExp.$2 < 256 && RegExp.$3 < 256 && RegExp.$4 === '*' && !RegExp.$5 && !RegExp.$6 && !RegExp.$7 && !RegExp.$8) {
                    return true;
                }
                if (RegExp.$1 < 256 && RegExp.$2 < 256 && RegExp.$3 < 256 && RegExp.$4 < 256 && !RegExp.$5 && !RegExp.$6 && !RegExp.$7 && !RegExp.$8) {
                    return true;
                }
                if (RegExp.$1 < 256 && RegExp.$2 < 256 && RegExp.$3 < 256 && RegExp.$4 < 256 && RegExp.$5 < 256 && RegExp.$6 < 256 && RegExp.$7 < 256 && RegExp.$8 < 256) {
                    return true;
                }
            }
            return false;
        }
    }

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/940104.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-05-17
下一篇2022-05-17

发表评论

登录后才能评论

评论列表(0条)

    保存