当前位置: 首页 > news >正文

【开源推荐】form-validator-cn 轻量级中文表单校验库 | TS 零依赖、极简开箱即用

【开源推荐】form-validator-cn 轻量级中文表单校验库 | TS 零依赖、极简开箱即用

文章目录

  • 【开源推荐】form-validator-cn 轻量级中文表单校验库 | TS 零依赖、极简开箱即用
    • 一、项目介绍
    • 二、核心特性
    • 三、快速安装
      • npm 安装
      • yarn 安装
    • 四、快速使用示例
      • 1. 基础使用(CommonJS)
      • 2. ESModule / TS 按需引入
    • 五、内置全部校验规则
    • 六、两种校验API
    • 七、项目工程化设计
    • 八、适用场景
    • 九、总结

一、项目介绍

日常前端开发中,表单校验是高频刚需场景。
市面上很多校验库如ZodYup体积大、配置繁琐,很多项目只需要手机号、邮箱、身份证、必填、密码等中文业务常用规则,完全不需要重型方案。

今天给大家推荐一款自己开源开发的form-validator-cn
轻量极简:压缩后仅 1.3KB
零外部依赖:原生 TS 编写,无第三方库
中文友好:内置中文错误提示,贴合国内业务
完整 TS 类型:类型安全,代码智能提示
模块化设计:结构清晰,易于扩展、二次开发
跨框架通用:支持原生JS / Vue / React / 小程序

适合:后台管理系统、H5、移动端、简单项目快速落地表单校验。

开源地址:https://github.com/dxiangwiki/form-validator-cn
NPM 地址:https://www.npmjs.com/package/form-validator-cn

二、核心特性

  1. 🚀 超轻量打包,极致体积,不增加项目负担
  2. 💎 TypeScript 全量编写,完善类型声明
  3. 📦 零依赖,开箱即用,无需额外安装依赖
  4. 📝 内置国内常用校验规则:
    • 必填项校验
    • 中国大陆手机号
    • 常规邮箱格式
    • 15/18位身份证
    • 密码长度校验
  5. 🔧 支持单字段校验 + 整表批量校验
  6. 🧩 模块化架构,方便后续新增自定义规则

三、快速安装

npm 安装

npminstallform-validator-cn

yarn 安装

yarnaddform-validator-cn

四、快速使用示例

1. 基础使用(CommonJS)

const{validator}=require('form-validator-cn')// 模拟表单数据constform={phone:'13812345678',email:'test@example.com',idCard:'110101199001011234',password:'123456'}// 配置校验规则consterrors=validator.validate(form,{phone:[validator.required,validator.mobile],email:[validator.required,validator.email],idCard:[validator.required,validator.idCard],password:[validator.required,validator.password]})console.log(errors)

2. ESModule / TS 按需引入

import{validator}from'form-validator-cn'// 单字段单独校验constmsg=validator.validateField('',[validator.required])console.log(msg)// 该项为必填项

五、内置全部校验规则

规则作用
required非空必填校验
mobile中国大陆11位手机号
email通用邮箱格式校验
idCard15/18位身份证号码
password密码最少6位校验

六、两种校验API

  1. validate(整表批量校验)
    自动遍历表单所有字段,统一收集错误信息,适合提交表单整体校验。
    校验通过返回null,失败返回{字段: 错误文案}对象。

  2. validateField(单个字段校验)
    单独校验某一个表单项,适合输入框失去焦点、实时校验场景。

七、项目工程化设计

本项目采用标准前端模块化架构开发:

  • src/rules统一管理所有校验规则,拆分解耦
  • types.ts统一管理 TS 类型,保证类型安全
  • 统一入口导出,规范代码分层
  • 使用tsup打包,输出 cjs / 类型声明文件
  • Github + NPM 版本同步迭代,长期维护

结构清晰,非常适合新手学习TS 开源库开发、打包、发包全流程

八、适用场景

  • 中小型前后端分离项目
  • Vue / React / 原生 JS 所有前端项目
  • 后台管理系统登录、注册、信息编辑表单
  • H5 移动端、微信小程序表单校验
  • 不想引入重型校验库的轻量化项目

九、总结

form-validator-cn主打够用、轻量、简单、中文本土化
抛弃冗余复杂的配置,5 行代码即可完成完整表单校验,
日常 90% 国内业务表单场景完全覆盖。

如果你正在寻找一款零依赖、小巧好用、纯中文提示的表单校验工具,
不妨试试这款开源库,也欢迎 Star、提 Issue、扩展更多校验规则!


开源地址:github 空降
NPM:npm 空降

http://www.cnnetsun.cn/news/2078868.html

相关文章:

  • 2026 网络安全新手避坑全指南:从零入门到实战落地,彻底告别自学弯路
  • Python数据类型转换实现方法
  • 嵌入式系统最后防线:在无MMU的MCU上实现C语言内存安全的3种硬件协同方案(ARMv8-M TrustZone实测)
  • 从CAN总线到以太网:手把手拆解汽车‘五大域’控制器之间的‘聊天’协议
  • Skill生成能力测试
  • 算法训练营第十四天 | 18. 四数之和
  • 实时数字人领域迎来新突破,Soul App发布轻量化模型SoulX-FlashHead
  • IOU Tracker实战:在低算力边缘设备(如Jetson Nano)上部署车辆跟踪
  • AI拓客系统选型指南:从“生存刚需”到“增长引擎”,GEO技术成破局关键
  • SQL如何处理多级分类统计报表_窗口函数层级汇总技巧
  • 从LIDC-IDRI到可训练数据:Python实战放射组学肺结节良恶性分类的数据预处理全解
  • P2639 [USACO09OCT] Bessie‘s Weight Problem G
  • 聊聊土木工程转行都去干啥了!_土木转行
  • AI长期记忆系统架构解析:从向量检索到多模态一致性
  • Pearcleaner:macOS深度清理的工程化解决方案
  • 人工智能|大白话YOLOv2
  • 保姆级教程:用Node.js复现抖音直播WSS链接的signature生成(附完整可运行代码)
  • 新药研发避坑指南:如何用ADMET预测工具(如ADMETlab 2.0)提前筛掉“问题分子”?
  • Taste-Skill:为AI编码助手注入设计品味,提升前端代码审美与工程实践
  • 别再只盯着DSI/CSI了!聊聊MIPI DPI:那个让无缓存屏幕动起来的‘老派’接口
  • Mistral与NVIDIA新语言模型技术解析与部署实践
  • SQL触发器如何获取触发源应用名_利用APP_NAME函数追踪
  • 晶科科技:国产芯模“协同破局、祛魅前行”,AIDC迎重大机遇
  • 为什么92%的车载软件团队弃用Eclipse改用VSCode?——基于ISO 26262 ASIL-B项目实测的4项性能跃升数据报告
  • 告别串口助手:用Python+PyQt5自制STM32 IAP升级上位机(支持Ymodem协议)
  • 【国家级等保2.0三级强制要求】:C项目上线前必须通过的5层内存安全静态验证关卡(含CI/CD自动化脚本模板)
  • 图像描述生成:Inject与Merge架构对比与实践
  • Keras实战:从零构建YOLOv8目标检测模型
  • Proma开源项目解析:Python驱动的程序化营销自动化工具库
  • 别再只调API了!手把手教你用BERT+CRF从零搭建一个中文知识库问答系统(附完整代码)