# 校验工具使用说明 ## 概述 `validator.js` 是一个通用的表单校验工具,提供了常用的校验规则和方法,遵循高内聚低耦合的设计原则。 ## 引入方式 ```javascript // 完整引入 import validator from '@/utils/validator.js'; // 按需引入 import { createValidators, validators, REGEX_PATTERNS } from '@/utils/validator.js'; ``` ## 使用方法 ### 1. 在Element UI表单中使用校验规则 ```javascript export default { data() { return { form: { mobile: '', email: '', name: '' }, // 表单校验规则 formRules: { // 手机号校验(必填) mobile: createValidators.mobile(true, '请输入正确的手机号码'), // 邮箱校验(非必填) email: createValidators.email(false, '请输入正确的邮箱地址'), // 中文姓名校验 name: createValidators.chineseName(true, '请输入正确的中文姓名'), // 组合使用多个校验规则 description: [ createValidators.required('请输入描述'), createValidators.length(10, 200, '描述长度为10-200个字符') ] } }; } } ``` ### 2. 直接校验(非表单场景) ```javascript import { validators } from '@/utils/validator.js'; // 校验手机号 const isValidMobile = validators.isMobile('13812345678'); // true // 校验邮箱 const isValidEmail = validators.isEmail('test@example.com'); // true // 校验中文姓名 const isValidName = validators.isChineseName('张三'); // true ``` ### 3. 使用正则表达式 ```javascript import { REGEX_PATTERNS } from '@/utils/validator.js'; // 直接使用正则 const mobileRegex = REGEX_PATTERNS.mobile; const isValid = mobileRegex.test('13812345678'); ``` ## 可用的校验规则 ### createValidators(用于Element UI表单) - `mobile(required, message)` - 手机号校验 - `email(required, message)` - 邮箱校验 - `chineseName(required, message)` - 中文姓名校验 - `required(message)` - 必填校验 - `length(min, max, message)` - 长度校验 ### validators(直接校验方法) - `isMobile(mobile)` - 校验手机号 - `isEmail(email)` - 校验邮箱 - `isChineseName(name)` - 校验中文姓名 ### REGEX_PATTERNS(正则表达式) - `mobile` - 手机号:1开头的11位数字 - `email` - 邮箱地址 - `idCard` - 身份证号 - `chineseName` - 中文姓名 - `number` - 数字 - `positiveInteger` - 正整数 ## 扩展校验规则 如需添加新的校验规则,请在 `validator.js` 文件中: 1. 在 `REGEX_PATTERNS` 中添加新的正则表达式 2. 在 `createValidators` 中添加对应的表单校验方法 3. 在 `validators` 中添加对应的直接校验方法 示例: ```javascript // 添加新的正则 REGEX_PATTERNS.newRule = /^your-regex$/; // 添加表单校验方法 createValidators.newRule = function(required = true, message = '默认错误信息') { const rules = []; if (required) { rules.push({ required: true, message: '请输入内容', trigger: 'blur' }); } rules.push({ pattern: REGEX_PATTERNS.newRule, message, trigger: 'blur' }); return rules; }; // 添加直接校验方法 validators.isNewRule = function(value) { return REGEX_PATTERNS.newRule.test(value); }; ```