Skip to content

valid — 数据验证 ​

valid 模块提供了数据验证功能,支持空值判断、长度验证、数值验证、格式验证、类型验证、正则验证等。

引入方式 ​

javascript
var valid = require("valid")

空值判断 ​

javascript
valid.IsEmpty("")           // true
valid.IsNotEmpty("hello")   // true
valid.IsBlank("  ")         // true
valid.IsNotBlank("hello")   // true
valid.HasValue("hello")     // true

长度验证 ​

javascript
valid.MinLength("hello", 3)       // true
valid.MaxLength("hello", 10)      // true
valid.LengthBetween("hello", 3, 10) // true
valid.ExactLength("1234", 4)      // true

数值验证 ​

javascript
valid.Min(10, 5)           // true(10 >= 5)
valid.Max(10, 20)          // true(10 <= 20)
valid.Between(10, 5, 20)   // true
valid.Positive(10)          // true(正数)
valid.Negative(-5)          // true(负数)
valid.NonNegative(0)        // true(非负数)

格式验证 ​

javascript
valid.IsMobile("13800138000")       // 手机号
valid.IsEmail("test@example.com")   // 邮箱
valid.IsURL("https://example.com")  // URL
valid.IsIP("192.168.1.1")           // IP 地址
valid.IsIPv4("192.168.1.1")         // IPv4
valid.IsUUID("xxx-xxx-xxx")         // UUID
valid.IsIDCard("110101199001011234") // 身份证
valid.IsBankCard("6222021234567890") // 银行卡
valid.IsCreditCard("4111111111111111") // 信用卡

类型验证 ​

javascript
valid.IsAlpha("hello")        // 纯字母
valid.IsAlphaNumeric("hello123") // 字母数字
valid.IsNumeric("12345")      // 纯数字
valid.IsInteger("123")        // 整数
valid.IsFloat("3.14")         // 浮点数
valid.IsBool("true")          // 布尔值
valid.IsJSON('{"key":"val"}') // JSON

正则验证 ​

javascript
valid.MatchRegex("hello123", "^[a-z]+[0-9]+$")   // 匹配
valid.NotMatchRegex("hello", "[0-9]")              // 不匹配

完整示例 ​

javascript
var valid = require("valid")

// 表单验证
var email = request.Input("email", "")
var phone = request.Input("phone", "")
var age = request.Input("age", "")

if (!valid.IsEmail(email)) {
    response.Error("邮箱格式不正确")
    return
}

if (!valid.IsMobile(phone)) {
    response.Error("手机号格式不正确")
    return
}

if (!valid.IsNumeric(age) || !valid.Between(parseInt(age), 1, 150)) {
    response.Error("年龄必须在 1-150 之间")
    return
}

// 密码强度验证
var password = request.Input("password", "")
if (!valid.MinLength(password, 8)) {
    response.Error("密码长度不能少于 8 位")
    return
}

版权所有.