Como otras personas ya han notado, la detección de características es preferible a la verificación de un navegador específico. Una razón es que la cadena del agente de usuario puede modificarse. Otra razón es que la cadena puede cambiar y romper su código en versiones más nuevas.
Si todavía quieres hacerlo y probar cualquier versión de Safari, te sugiero que uses esto
var isSafari = navigator.vendor && navigator.vendor.indexOf('Apple') > -1 &&
navigator.userAgent &&
navigator.userAgent.indexOf('CriOS') == -1 &&
navigator.userAgent.indexOf('FxiOS') == -1;
Esto funcionará con cualquier versión de Safari en todos los dispositivos: Mac, iPhone, iPod, iPad.
Editar
Para probar en su navegador actual: https://jsfiddle.net/j5hgcbm2/
Editar 2
Actualizado de acuerdo con los documentos de Chrome para detectar Chrome en iOS correctamente
Vale la pena señalar que todos los navegadores en iOS son solo envoltorios para Safari y usan el mismo motor. Vea el comentario de bfred.it sobre su propia respuesta en este hilo.
Editar 3
Actualizado de acuerdo con los documentos de Firefox para detectar Firefox en iOS correctamente