Skip to content

isAndroid

检查用户代理(User Agent)字符串是否表明客户端是安卓(Android)设备。

示例

基本用法

typescript
// 典型的安卓设备 User Agent
const androidUA = 'Mozilla/5.0 (Linux; Android 10; SM-G975F) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.106 Mobile Safari/537.36'
isAndroid(androidUA)
// => true

非安卓环境

typescript
// iOS 设备的 User Agent
const iosUA = 'Mozilla/5.0 (iPhone; CPU iPhone OS 13_5 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/13.1.1 Mobile/15E148 Safari/604.1'
isAndroid(iosUA)
// => false

// 桌面浏览器的 User Agent
const desktopUA = 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.124 Safari/537.36'
isAndroid(desktopUA)
// => false

签名与说明

typescript
/**
 * 检查用户代理(User Agent)字符串是否表明客户端是安卓(Android)设备。
 *
 * 此函数通过测试给定的字符串中是否存在 "Android" 关键字来执行判断。
 *
 * @param ua 要进行检查的用户代理(User Agent)字符串,通常来自 `navigator.userAgent`。
 * @returns 如果用户代理字符串表明是安卓设备,则返回 `true`,否则返回 `false`。
 */
export function isAndroid(ua: string): boolean

注意事项与边界情况

  • 关于判定逻辑: 函数仅通过正则表达式检查输入字符串中是否包含 Android 子字符串,不进行更复杂的验证。
  • 关于空字符串: 当输入为空字符串 '' 时,函数将返回 false,这在测试用例中得到了验证。
  • 关于 UA 伪造: 用户代理字符串可以被用户或浏览器插件轻易伪造,因此该函数不应作为安全验证的依据,仅适用于内容适配等场景。

相关链接

基于 MIT 许可证发布