UNPKG

vue-form-check

Version:

表单验证

60 lines (44 loc) 1.48 kB
/** * @file 表单验证 * @author donghongyan */ // 基本类型判断非空 const isDefined = value => typeof value !== 'undefined'; const isNull = value => value === null; const isBoolean = value => typeof value === 'boolean'; const isNumber = value => typeof value === 'number' && !isNaN(value); const isArray = value => Array.isArray(value); const isString = value => typeof value === 'string'; const isRegExp = value => typeof value === 'object' && `${value.constructor}` === 'function RegExp() { [native code] }'; const isObject = value => typeof value === 'object' && value !== null && !isArray(value) && !isRegExp(value); // 回调会用到 const isFunction = value => typeof value === 'function'; // 非空函数判断 function isEmpty(value) { if (isNull(value) || !isDefined(value) || (isNumber(value) && [Infinity, -Infinity].includes(value)) || (isFunction(value) && value.toString() === new Function().toString())) { return true; } // 主要是判断数组和字符串 if (isArray(value) || isString(value)) { return value.length === 0; } if (isNumber(value) || isBoolean(value) || isFunction(value) || isRegExp(value)) { return false; } // 不包含原型上的keys return Object.keys(value).length === 0; } export default { isDefined, isNull, isBoolean, isNumber, isArray, isString, isRegExp, isObject, isFunction, isEmpty };