Регулярное выражение для отрицания хрома на устройствах IOS - PullRequest
0 голосов
/ 26 февраля 2019

В моем веб-приложении Javascript я использую регулярное выражение ниже для определения устройств ios / mac, которые работают нормально.

 var regex = \\biP\\w+; CPU(?: iP\\w+)? OS (?:1[2-9][_\\d]+|11_(?:\\d\\d+|[3-9])(?:_\\d+)?) like Mac OS X\\b;

 if(navigator.userAgent.match(regex)) {
   // do something
 }

Теперь я бы хотел исключить хром в IOS.Итак, я пытаюсь использовать под регулярным выражением слово «CriOS» (хром на IOS), но оно не работает.Пожалуйста, дайте мне знать, что мне здесь не хватает.Заранее спасибо

"\\biP\\w+; CPU(?: iP\\w+)? OS (?:1[2-9][_\\d]+|11_(?:\\d\\d+|[3-9])(?:_\\d+)?) like Mac OS X\\b(?:(?!CriOS).)*$"

UserAgent на iPhone Safari
"Mozilla / 5.0 (iPhone; процессор iPhone OS 10_3, как Mac OS X) AppleWebKit / 603.1.23 (KHTML, какGecko) Версия / 10.0 Mobile / 14E5239e Safari / 602.1 "

Использование агента на Iphone Chrome
" Mozilla / 5.0 (iPhone; CPU iPhone OS 10_3, как Mac OS X) AppleWebKit /602.1.50 (KHTML, как Gecko) CriOS / 56.0.2924.75 Mobile / 14E5239e Safari / 602.1 "

1 Ответ

0 голосов
/ 26 февраля 2019

Попробуйте добавить отрицание в начале вашего кода (?!.*CriOS).

Пример:

(?!.*CriOS)\\biP\\w+; CPU(?: iP\\w+)? OS (?:1[2-9][_\\d]+|11_(?:\\d\\d+|[3-9])(?:_\\d+)?) like Mac OS X\\b
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...