0.1.1 • Published 8 years ago

verify-base v0.1.1

Weekly downloads
54
License
ISC
Repository
github
Last release
8 years ago

verify-base

校验基础包,内含各种常用校验方法。

安装

npm install verify-base

使用

import verifyBase from 'verify-base'
// 获取校验方法 name: 校验方法名
var verifySomeThing = verifyBase(name)
// 执行校验 val: 待校验的值 rule: 校验规则
verifySomeThing(val, rule)
// 返回:{valid: true / false, err_msg: 'xxx'}

支持的校验方法如下:

  • length: 校验文本长度
  • minLength: 校验文本最短长度
  • maxLength: 校验文本最长长度
  • maxNumber: 校验数字最大值
  • minNumber: 校验数字最小值
  • decimalLength: 校验小数位
  • number: 校验是否为数字
  • int: 校验是否为整数
  • phone: 校验是否为手机号
  • idCard: 校验是否为身份证号
  • bankCard: 校验是否为银行卡号
  • email: 校验是否为电子邮件地址
  • verifyCode: 校验是否为6位数字验证码

示例

// 校验手机号
var verifyPhone = verifyBase('phone')
console.log(verifyPhone('186xxxxxx'))

// 校验数字最大值(最小值校验同理)
var verifyMaxNumber = verifyBase('maxNumber')
// 校验1是否大于等于2
console.log(verifyMaxNumber(1, 2))
// 校验1是否大于2
console.log(verifyMaxNumber(1, '!2'))

拓展校验规则

// name: 校验方法名 verifyFun: 校验方法
verifyBase(name, verifyFun)

示例

// 新增校验是否为6位数字 val: 调用校验时传入的第一个参数 rule: 调用校验时传入的第二个参数
// 校验是否为6位数字这种一般时不需要额外参数用来对比,所以rule参数用不到。校验文本长度,数字大小这种才会用到rule
verifyBase('number6', (val, rule) => {
	// 判断是否为6位数字
	// 只需要关注错误的情况 返回出错提示即可
	if (!verifyBase('number')(val).valid || !verifyBase('length')(val, 6)) return '请输入正确的6位数字'
})
// 调用
verifyBase('number6')(123456)

属性

errMsg: 默认报错信息

{
  number: {
    common: '应为数字',
    // >
    maxNumber: '不能大于{maxNumber}',
    // >=
    maxNumber2: '应小于{maxNumber}',
    // <
    minNumber: '不能小于{minNumber}',
    // <=
    minNumber2: '应大于{minNumber}',
    decimalLength: '最多为{decimalLength}位小数'
  },
  // 特殊类型
  int: '应为整数',
  phone: '手机号不正确',
  idCard: '身份证号不正确',
  bankCard: '银行卡号不正确',
  verifyCode: '验证码错误',
  email: '邮箱格式不正确',
  // 其他
  common: {
    length: '内容长度必须为{length}位',
    minLength: '内容至少{minLength}位',
    maxLength: '内容至多{maxLength}位'
  }
}
// 修改或拓展报错信息
verifyBase.errMsg.common.empty = '{mark}不能为空'

方法

macro (msg, macro, value) 说明:用于替换报错信息中的'{}'内定义的关键字,一般用于封装校验插件时候使用

  • msg(String):错误信息
  • macro(String):关键字
  • value(String):替换文本

示例

// 修改或拓展报错信息
verifyBase.errMsg.common.maxLength = '{mark}内容至多{maxLength}位'
// 这里只是做个示例 实际开发中,这个mark应该是你封装的校验插件中的某个配置项
var mark = '个性签名'
var errMsg = verifyBase('maxLength')('个性签名', 3).err_msg
console.log(verifyBase.macro(errMsg, 'mark', mark))
// 输出:个性签名内容至多3位
0.1.1

8 years ago

0.1.0

9 years ago

0.0.9

10 years ago

0.0.8

10 years ago

0.0.7

10 years ago

0.0.6

10 years ago

0.0.5

10 years ago

0.0.4

10 years ago

0.0.3

10 years ago

0.0.2

10 years ago

0.0.1

10 years ago