'use strict';

Object.defineProperty(exports, "__esModule", {
  value: true
});

var _EmptyUtils = require('./EmptyUtils');

var _typeDic = require('../modules/detail/formValidator/typeDic');

/* eslint-disable no-unused-vars */
exports.default = {
  isMobile: function isMobile(data) {
    if (!(0, _EmptyUtils.isEmpty)(data)) {
      // let re = /^[1]\d{10}$/;
      var re = /^[1][3578]\d{9}$/;
      if (!re.test(data)) {
        return false;
      }
      return true;
    }
    return false;
  },
  isComp: function isComp(data, desc) {
    var reg = /^(?![0-9]+$)(?![a-zA-Z]+$)[0-9A-Za-z]{6,16}$/;
    if (!reg.test(data)) {
      return false;
    }
    return true;
  },
  realName: function realName(data) {
    if (!(0, _EmptyUtils.isEmpty)(data)) {
      var reg = /^[\u4e00-\u9fa5a-zA-Z]{1,10}$/;
      if (!reg.test(data)) {
        return false;
      }
      return true;
    }
    return true;
  },
  isTelephone: function isTelephone(data) {
    if (!(0, _EmptyUtils.isEmpty)(data)) {
      var re = /^0\d{2,3}-?\d{7,8}$/;
      if (!re.test(data)) {
        return false;
      }
      return true;
    }
    return true;
  },

  // 4位以上数字
  isQQ: function isQQ(data) {
    if (!(0, _EmptyUtils.isEmpty)(data)) {
      var reg = /^[1-9][0-9]{1,20}$/;
      if (!reg.test(data)) {
        // console.log('您输入的QQ号有误，请重新输入');
        return false;
      }
      return true;
    }
    return true;
  },

  // 中文和英文:职务
  isChineseAndEnglish: function isChineseAndEnglish(data) {
    if (!(0, _EmptyUtils.isEmpty)(data)) {
      var reg = /^[\u4e00-\u9fa5a-zA-Z]+$/;
      if (!reg.test(data)) {
        return false;
      }
      return true;
    }
    return true;
  },

  // 中文和英文:微信
  isWechat: function isWechat(data) {
    if (!(0, _EmptyUtils.isEmpty)(data)) {
      var reg = /^[a-zA-Z0-9_]{1,40}$/;
      if (!reg.test(data)) {
        return false;
      }
      return true;
    }
    return true;
  },

  // 是否包含中文
  hasChinese: function hasChinese(data) {
    if (!(0, _EmptyUtils.isEmpty)(data)) {
      var reg = /[\u4e00-\u9fa5]+/;
      if (!reg.test(data)) {
        return false;
      }
      return true;
    }
    return true;
  },


  // 是否包含emoji
  isEnableEmoji: function isEnableEmoji(data) {
    if (!(0, _EmptyUtils.isEmpty)(data)) {
      var reg = /^[\w\u4e00-\u9fa5\u0000-\u00FF\uFF00-\uFFFF。、“”……——【】《》]+$/g;
      if (!reg.test(data)) {
        return false;
      }
      return true;
    }
    return true;
  },
  isRealName: function isRealName(data) {
    if (!(0, _EmptyUtils.isEmpty)(data)) {
      var reg = /^[\u4e00-\u9fa5_a-zA-Z]{1,10}$/;
      if (!reg.test(data)) {
        // console.log('您输入的真实姓名号有误，请重新输入');
        return false;
      }
      return true;
    }
    return true;
  },
  isEmail: function isEmail(data) {
    if (!(0, _EmptyUtils.isEmpty)(data)) {
      var reg = /^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$/;
      if (!reg.test(data)) {
        // console.log('您输入的邮箱有误，请重新输入');
        return false;
      }
      return true;
    }
    return true;
  },
  isAmount: function isAmount(data, amountCate) {
    if (!(0, _EmptyUtils.isEmpty)(data)) {
      var reg = /^[0-9]+(\.[0-9]+)?$/;
      if (amountCate === _typeDic.amountType.NONZERO) {
        return !(data === 0);
      } else if (amountCate === _typeDic.amountType.POSITIVE) {
        // 正数
        reg = /^(([0-9]+\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\.[0-9]+)|([0-9]*[1-9][0-9]*))$/;
      } else if (amountCate === _typeDic.amountType.NONPOSITIVE) {
        // 非正数
        reg = /^((-\d+(\.\d+)?)|(0+(\.0+)?))$/;
      } else if (amountCate === _typeDic.amountType.NEGATIVE) {
        reg = /^(-(([0-9]+\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\.[0-9]+)|([0-9]*[1-9][0-9]*)))$/;
      } else if (amountCate === _typeDic.amountType.NONE) {
        reg = /^[-]?[0-9]+(\.[0-9]+)?$/;
      }
      if (!reg.test(data)) {
        // console.log('格式不合法：请输入整数');
        return false;
      }
      return true;
    }
    return true;
  },
  isTerm: function isTerm(data) {
    var formatData = new Date(data);
    if (!(0, _EmptyUtils.isEmpty)(formatData)) {
      if (!(formatData instanceof Date) && !(formatData._d instanceof Date)) {
        return false;
      }
      return true;
    }
    return true;
  },
  isRate: function isRate(data) {
    if (!(0, _EmptyUtils.isEmpty)(data)) {
      var reg = /^(?=.*[0-9])\d{0,2}(?:\.\d{0,4})?$/;
      if (!reg.test(data)) {
        // console.log('格式不合法：请输入0-99.99之间的小数');
        return false;
      }
      return true;
    }
    return true;
  },
  notNull: function notNull(data, desc) {
    if (!data) {
      // console.log(desc + '为必填项，不能为空');
      return false;
    }
    return true;
  },
  isNull: function isNull(data) {
    if (!data) {
      return true;
    }
    return false;
  },
  returnIsNull: function returnIsNull(valid, data) {
    if (!valid) {
      return '';
    }
    return data;
  }
};