Как уже отмечали другие люди, обнаружение функции предпочтительнее, чем проверка конкретного браузера. Одна из причин заключается в том, что строка пользовательского агента может быть изменена. Другая причина в том, что строка может измениться и сломать ваш код в более новых версиях.
Если вы все еще хотите сделать это и протестировать любую версию Safari, я бы предложил использовать эту
var isSafari = navigator.vendor && navigator.vendor.indexOf('Apple') > -1 &&
navigator.userAgent &&
navigator.userAgent.indexOf('CriOS') == -1 &&
navigator.userAgent.indexOf('FxiOS') == -1;
Это будет работать с любой версией Safari на всех устройствах: Mac, iPhone, iPod, iPad.
редактировать
Чтобы проверить в вашем текущем браузере: https://jsfiddle.net/j5hgcbm2/
Редактировать 2
Обновлен в соответствии с документами Chrome для корректного определения Chrome на iOS
Стоит отметить, что все браузеры на iOS являются просто обертками для Safari и используют один и тот же движок. См. Комментарий bfred.it к его собственному ответу в этой теме.
Редактировать 3
Обновлен в соответствии с документацией Firefox для правильного определения Firefox на iOS