校验工具 API
默认导出为 ValidationUtils。
使用指引(做什么、何时用)
- 表单校验:提交前用
isValidEmail/URL/PhoneNumber/PostalCode/IDCard做基础合法性检查 - 接口前置检查:在调用后端接口前先校验输入,避免浪费网络与后端资源
- 数据清洗:后端返回的字符串再校验/过滤,提升稳健性
注意
- 所有校验为“基础正则”或内置检查,无法覆盖所有边界;复杂校验应结合业务规则
- 电话/身份证等规则会因地区/政策更新而变化,请结合后端校验为准
导入
ts
import { ValidationUtils } from 'nex-lib';type(value: any): string
ts
ValidationUtils.type('a'); // 'string'
ValidationUtils.type(1); // 'number'
ValidationUtils.type(true); // 'boolean'
ValidationUtils.type({}); // 'object'
ValidationUtils.type([]); // 'array'
ValidationUtils.type(new Date()); // 'date'
ValidationUtils.type(/re/); // 'regexp'
ValidationUtils.type(new Error('x')); // 'error'
ValidationUtils.type(null); // 'null'
ValidationUtils.type(undefined); // 'undefined'
ValidationUtils.type(new Map()); // 'map'
ValidationUtils.type(new Set()); // 'set'
ValidationUtils.type(Promise.resolve()); // 'promise'
ValidationUtils.type(Symbol('s')); // 'symbol'
ValidationUtils.type(BigInt(1)); // 'bigint'isValidEmail(email: string): boolean
ts
ValidationUtils.isValidEmail('test@example.com'); // trueisValidURL(url: string): boolean
ts
ValidationUtils.isValidURL('https://example.com'); // trueisValidPhoneNumber(phone: string): boolean
ts
ValidationUtils.isValidPhoneNumber('1234567890'); // true(10-12位数字)isValidDate(date: string): boolean
ts
ValidationUtils.isValidDate('2024-02-29'); // true(闰年)isValidPostalCode(postalCode: string): boolean
ts
ValidationUtils.isValidPostalCode('100000'); // true(中国大陆,6位数字)isValidIDCard(idCard: string): boolean
ts
ValidationUtils.isValidIDCard('11010119900307123X'); // 示例,正则匹配