表单校验规则公共方法总结

表单校验规则公共方法总结



/**
 * 邮箱
 * @param {*} s
 */
export function isEmail(s) {
  return /^([a-zA-Z0-9._-])+@([a-zA-Z0-9_-])+((.[a-zA-Z0-9_-]{2,3}){1,2})$/.test(s)
}


/**
 * 手机号码
 * @param {*} s
 */
export function isMobile(s) {
  return /^1[0-9]{10}$/.test(s)
}

/**
 * 电话号码
 * @param {*} s
 */
export function isPhone(s) {
  return /^([0-9]{3,4}-)?[0-9]{7,8}$/.test(s)
}

/**
 * URL地址
 * @param {*} s
 */
export function isURL(s) {
  return /^http[s]?:\/\/.*/.test(s)
}

/**
 * 中文
 * @param {*} s
 */
export function isChinese(s) {
  return /\p{sc=Han}/gu.test(s)
  // return /^[\u4E00-\u9FA5]/g.test(s)
}

/**
 * 身份证
 * @param {*} s
 */
export function isIdCard(s) {
  return /^\d{6}(18|19|20)?\d{2}(0[1-9]|1[12])(0[1-9]|[12]\d|3[01])\d{3}(\d|X)$/.test(s)
}

/**
 * double
 * @param {*} s
 */
export function isDouble(s) {
  return /^[0-9]+(.[0-9]{2})$/.test(s)
}

/**
 * 数字
 * @param {*} s
 */
export function isInt(s) {
  return /^[0-9]*$/.test(s)
}


/**
 * 数字
 * @param {*} s
 */
export function isDigit(s) {
  return /^-?[1-9]\d*$/.test(s)
}


/**
 * 日期和时间
 * @param {*} s
 */
export function isDateTime(s) {
  return /^(\d{1,4})(-|\/)(\d{1,2})\2(\d{1,2}) (\d{1,2}):(\d{1,2}):(\d{1,2})$/.test(s)
}

/**
 * 日期
 * @param {*} s
 */
export function isDate(s) {
  return /^(\d{1,4})(-|\/)(\d{1,2})\2(\d{1,2})$/.test(s)
}

/**
 * 密码
 * @param {*} s
 */
export function isPasswd(s) {
  return /^(?![a-zA-z]+$)(?!\d+$)(?![!@#$%^&*]+$)[a-zA-Z\d!@#$%^&*]{5,17}$/.test(s)
}

/**
 * 浮点数  小数
 * @param {*} s
 */
export function isFloat(s) {
  return /^-?([1-9]\d*\.\d*|0\.\d*[1-9]\d*|0?\.0+|0)$/.test(s)
}

/**
 * 月份
 * @param {*} s
 */
export function isMonth(s) {
  return /^(0?[1-9]|1[0-2])$/.test(s)
}

/**
 ** @param {*} s
 */
export function isDay(s) {
  return /^((0?[1-9])|((1|2)[0-9])|30|31)$/.test(s)
}


/**
 * 是否为空
 * @param {*} s
 */
export function isNull(s) {
  return /\S/.test(s)
}


/**
 * 验证是否为空
 * @param rule
 * @param value
 * @param callback
 */
export function validateNotNull(rule, value, callback) {
  if (!value) {
    callback()
  } else {
    if (!isNull(value)) {
      callback("不能为空!")
    }
  }
}

/**
 * 验证电话号码
 * @param rule
 * @param value
 * @param callback
 */
export function validatePhone(rule, value, callback) {
  if (!value) {
    callback()
  } else {
    if (!isPhone(value)) {
      callback("请输入正确格式的电话号码!");
    }
  }
}


/**
 * 验证手机号码
 * @param rule 规则
 * @param value
 * @param callback
 */
export function validateMobile(rule, value, callback) {
  if (!value) {
    callback()
  } else {
    if (!isMobile(value)) {
      callback("请输入正确格式的手机号码!");
    }
  }
}


/**
 * 验证中文
 * @param rule 规则
 * @param value
 * @param callback
 */
export function validateChinese(rule, value, callback) {
  if (!value) {
    callback()
  } else {
    if (!isChinese(value)) {
      callback("请输入中文!");
    } else {

    }
  }
}

/**
 * 验证邮箱
 * @param rule 规则
 * @param value
 * @param callback
 */
export function validateEmail(rule, value, callback) {
  if (!value) {
    callback()
  } else {
    if (!isEmail(value)) {
      callback("请输入正确格式的邮箱!")
    }
  }
}


/**
 *  验证身份证
 * @param rule
 * @param value
 * @param callback
 */
export function validateIdCard(rule, value, callback) {
  if (!value) {
    callback()
  } else {
    if (!isIdCard(value)) {
      callback("请输入正确格式的身份证!")
    }
  }
}

/**
 * 验证双精度
 * @param rule
 * @param value
 * @param callback
 */
export function validateDouble(rule, value, callback) {
  if (!value) {
    callback()
  } else {
    if (!isDouble(value)) {
      callback("请输入有两位小数的数字!")
    }
  }
}



/**
 * 验证整数
 * @param rule
 * @param value
 * @param callback
 */
export function validateInt(rule, value, callback) {
  if (!value) {
    callback()
  } else {
    if (!isInt(value)) {
      callback("请输入整数!")
    }
  }
}

/**
 * 验证整数
 * @param rule
 * @param value
 * @param callback
 */
export function validateDigit(rule, value, callback) {
  if (!value) {
    callback()
  } else {
    if (!isDigit(value)) {
      callback("请输入数字!")
    }
  }
}

/**
 * 验证日期时间
 * @param rule
 * @param value
 * @param callback
 */
export function validateDateTime(rule, value, callback) {
  if (!value) {
    callback()
  } else {
    if (!isDateTime(value)) {
      callback("请输入正确格式的日期时间 YYYY - MM - DD hh: mm: ss!")
    }
  }
}


/**
 * 验证日期
 * @param rule
 * @param value
 * @param callback
 */
export function validateDate(rule, value, callback) {
  if (!value) {
    callback()
  } else {
    if (!isDate(value)) {
      callback("请输入正确格式的日期 YYYY - MM - DD!")
    }
  }
}


/**
 * 验证网址
 * @param rule
 * @param value
 * @param callback
 */
export function validateURL(rule, value, callback) {
  if (!value) {
    callback()
  } else {
    if (!isURL(value)) {
      callback("请输入正确格式的网址!")
    }
  }
}



/**
 * 验证密码
 * @param rule
 * @param value
 * @param callback
 */
export function validatePasswd(rule, value, callback) {
  if (!value) {
    callback()
  } else {
    if (!isPasswd(value)) {
      callback("请输入正确格式的邮箱!")
    }
  }
}



/**
 * 浮点数 正数、负数、和小数
 * @param rule
 * @param value
 * @param callback
 */
export function validateFloat(rule, value, callback) {
  if (!value) {
    callback()
  } else {
    if (!isFloat(value)) {
      callback("请输入有小数的数字!")
    }
  }
}


/**
 * 一年的12个月(01~09和1~12)
 * @param rule
 * @param value
 * @param callback
 */
export function validateMonth(rule, value, callback) {
  if (!value) {
    callback()
  } else {
    if (!isMonth(value)) {
      callback("请输入月份,一年的12个月!")
    }
  }
}


/**
 * 一个月的31天(01~09和1~31)
 * @param rule
 * @param value
 * @param callback
 */
export function validateDay(rule, value, callback) {
  if (!value) {
    callback()
  } else {
    if (!isDay(value)) {
      callback("请输入正确天数,一个月的31天!")
    }
  }
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

软宝

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值