| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123 |
- const toString = Object.prototype.toString;
- export function is(val, type) {
- return toString.call(val) === `[object ${type}]`;
- }
- export function isDef(val) {
- return typeof val !== 'undefined';
- }
- export function isUnDef(val) {
- return !isDef(val);
- }
- export function isObject(val) {
- return val !== null && is(val, 'Object');
- }
- export function isEmpty(val) {
- if (isArray(val) || isString(val)) {
- return val.length === 0;
- }
- if (val instanceof Map || val instanceof Set) {
- return val.size === 0;
- }
- if (isObject(val)) {
- return Object.keys(val).length === 0;
- }
- return false;
- }
- export function isDate(val) {
- return is(val, 'Date');
- }
- export function isNull(val) {
- return val === null;
- }
- export function isNullAndUnDef(val) {
- return isUnDef(val) && isNull(val);
- }
- export function isNullOrUnDef(val) {
- return isUnDef(val) || isNull(val);
- }
- export function isNumber(val) {
- return is(val, 'Number');
- }
- export function isPromise(val) {
- return is(val, 'Promise') && isObject(val) && isFunction(val.then) && isFunction(val.catch);
- }
- export function isString(val) {
- return is(val, 'String');
- }
- export function isFunction(val) {
- return typeof val === 'function';
- }
- export function isBoolean(val) {
- return is(val, 'Boolean');
- }
- export function isRegExp(val) {
- return is(val, 'RegExp');
- }
- export function isArray(val) {
- return val && Array.isArray(val);
- }
- export function isMap(val) {
- return is(val, 'Map');
- }
- export function isPhone(phone) {
- const reg = /^(?:(?:\+|00)86)?1(?:(?:3[\d])|(?:4[5-79])|(?:5[0-35-9])|(?:6[5-7])|(?:7[0-8])|(?:8[\d])|(?:9[189]))\d{8}$/;
- return reg.test(phone);
- }
- export function isEmail(email) {
- const reg = /^\w+((-\w+)|(\.\w+))*\@[A-Za-z0-9]+((\.|-)[A-Za-z0-9]+)*\.[A-Za-z0-9]+$/;
- return reg.test(email);
- }
- // 常用正则
- let Regular = {
- digits: /^\d+$/, // 正整数
- letter: /^[a-zA-Z]*$/, // 数字
- chinese: /^[\u4e00-\u9fa5]+$/gi, //中文
- phone: /0?(13|14|15|17|18|19)[0-9]{9}/, // 手机号
- amount: /^[1-9]\d*(,\d{3})*(\.\d{1,2})?$|^0\.\d{1,2}$/, // 金额。值允许两位小数
- email: /^\w+((-\w+)|(\.\w+))*\@[A-Za-z0-9]+((\.|-)[A-Za-z0-9]+)*\.[A-Za-z0-9]+$/, // 邮箱
- idcard: /^[1-9]\d{5}(18|19|([23]\d))\d{2}((0[1-9])|(10|11|12))(([0-2][1-9])|10|20|30|31)\d{3}[0-9Xx]$/, // 身份证
- empty: (value) => { // 是否为空
- switch (typeof value) {
- case 'undefined':
- return true;
- case 'string':
- if (value.replace(/(^[ \t\n\r]*)|([ \t\n\r]*$)/g, '').length == 0) return true;
- break;
- case 'boolean':
- if (!value) return true;
- break;
- case 'number':
- if (0 === value || isNaN(value)) return true;
- break;
- case 'object':
- if (null === value || value.length === 0) return true;
- for (var i in value) {
- return false;
- }
- return true;
- }
- return false;
- }
- }
|