const toString = Object.prototype.toString;
// 利用原型链方法进行判断
export function is(val: unknown, type: string) {
return toString.call(val) === `[object ${type}]`;
}
// 判断对象
export function isObject(val: any){
return is(val, 'Object');
}
// 判断是否是数组
export function isArray(val: any) {
return is(val, 'Array');
}
export function isArray(val: any) {
return Array.isArray(val)
}
// 判断是否是正则
export function isRegExp(val: any) {
return is(val, 'RegExp');
}
// 判断是否是数字
export function isNumber(val: unknown) {
return is(val, 'Number');
}
// 判断是否是日期
export function isNumber(val: unknown) {
return is(val, 'Date');
}
// 判断是否是window
export function isWindow(val: any) {
return typeof window !== 'undefined' && is(val, 'Window');
}
// 判断是否是promise对象
export function isPromise(val: any) {
return is(val, 'Promise') && isObject(val) && isFunction(val.then) && isFunction(val.catch);
}
// 判断是否是url
export function isUrl(path: string){
const reg =
/^(((^https?:(?:\/\/)?)(?:[-;:&=\+\$,\w]+@)?[A-Za-z0-9.-]+(?::\d+)?|(?:www.|[-;:&=\+\$,\w]+@)[A-Za-z0-9.-]+)((?:\/[\+~%\/.\w-_]*)?(\/#\/)?(?:\/[\+~%\/.\w-_]*)?\??(?:[-\+=&;%@.\w_]*)#?(?:[\w]*))?)$/;
return reg.test(path);
}
js对字符串,对象,数组,正则,日期的判断小工具
于 2023-01-29 09:34:17 首次发布