Javascript-форум (https://javascript.ru/forum/)
-   Events/DOM/Window (https://javascript.ru/forum/events/)
-   -   Regex, если в начале строки нет слова (https://javascript.ru/forum/events/58920-regex-esli-v-nachale-stroki-net-slova.html)

webphp 18.10.2015 01:06

Regex, если в начале строки нет слова
 
Подскажите как сделать такую регулярку
Строка
/upload/folder/4/7/pic.jpg
Или
/upload/folder/4/7/pic.png

Нужно вернуть true при поиске jpg если перед нам нет /upload/folder/

Т.е. обратное данной регулярке /\/upload\/folder\/(?!jpg|png)/

Lemme 18.10.2015 02:04

/^[^\/upload\/folder\/](?!jpg|png)/

Decode 18.10.2015 02:11

Можно так:
alert( '/bla-bla/4/7/pic.jpg'.match( /(\/upload\/folder\/)|\.jpg/ )[1] ? false : true );
alert( '/upload/folder/4/7/pic.jpg'.match( /(\/upload\/folder\/)|\.jpg/ )[1] ? false : true );

webphp 18.10.2015 03:37

Не пойму, что ж я не так делаю?
console.log(/^[^\/upload\/folder\/](?!jpg|png)/.test('/upload/folder/4/7/pic.jpg'));
console.log(/^[^\/upload\/folder\/](?!jpg|png)/.test('/ffff/pic.jpg'));

Везде false

рони 18.10.2015 08:37

webphp,
function fn(str)
 {
   return  !/upload\/folder/.test(str) && /jpg$/.test(str)
 }
  alert(fn('/upload/folder/4/7/pic.jpg'));
  alert(fn('/ffff/pic.jpg'));


Часовой пояс GMT +3, время: 11:59.