123456789101112131415161718192021222324252627282930313233 |
- // @ts-nocheck
- /**
- * 检测输入值是否为正则表达式对象
- * @param obj - 需要检测的任意类型值
- * @returns 如果检测值是正则表达式返回 true,否则返回 false
- *
- * @example
- * // 基础检测
- * isRegExp(/abc/); // true
- * isRegExp(new RegExp('abc')); // true
- *
- * @example
- * // 非正则表达式检测
- * isRegExp('hello'); // false
- * isRegExp({}); // false
- * isRegExp(null); // false
- *
- * @description
- * 1. 通过 Object.prototype.toString 的可靠类型检测
- * 2. 支持跨执行环境的可靠检测:
- * - 浏览器多 iframe 环境
- * - Node.js 的 vm 模块
- * 3. 比 instanceof 检测更可靠
- * 4. 支持 ES3+ 全环境兼容
- */
- export function isRegExp(obj : any) : boolean {
- // #ifndef APP-ANDROID
- return Object.prototype.toString.call(obj) === '[object RegExp]';
- // #endif
- // #ifdef APP-ANDROID
- return obj instanceof RegExp//Object.prototype.toString.call(obj) === '[object RegExp]';
- // #endif
- }
|