Регулярка определения главной страницы
Нужно регулярное выражение которое определит главную страницу сайта. При этом интересуют только те главные страницы которые оканчиваются на '/', тоесть:
Код:
http://habrahabr.ru/Код:
http://habrahabr.ru/index.phpvar reg = /^https?:\/\/\S*?(\/)/; Это регулярное выражение возвращает(находит) '/' во всех выше перечисленных сайтах, а нужно чтоб только в первых 4. Я конечно пробовал указать '$' чтоб типа искало только когда '/' последний, но не работает. |
url = 'http://www.yandex.ua/#yandex'
tst = url.split(/:\/\/[^\/]*\//);
if(tst[1]=='')alert('Главная, без дополнений');
if(tst[1]!='')alert('>'+tst[1]+'<');
|
Цитата:
Код:
http://google.com/webhp?.... -> /webhp |
url = 'http://www.yandex.ua/search?...'
tst = url.split(/:?[\/]+/);
var out=tst[2].split("?")[0];
if(out=='')out='/'
if(out!=tst[2]&&(out=='webhp'||out=='search'||out.indexOf('#')==0||out=='/')) {
alert('>'+out+'<');
}
|
Цитата:
Если главная, tst[1] может быть пустой строкой, а может вообще отсутствовать. А undefined не равно пустой строке. http://javascript.ru/forum/misc/3600...tml#post238235 А зачем вообще split? Проще (и быстрее) просто проверить test-ом или search-ем, только в конец выражения добавть $ |
url = 'http://www.yandex.ua/'
tst = url.split(/:\/\/[^\/]*\//);
if(tst[1]=='')alert('Главная, без дополнений');
if(tst[1]!='')alert('>'+tst[1]+'<');
url = 'http://www.yand'
tst = url.split(/:\/\/[^\/]*\//);
if(tst[1]=='')alert('Главная, без дополнений');
if(tst[1]!='')alert('>'+tst[1]+'<');
|
Цитата:
|
Всем спасибо.
Вот регулярное выражение: Код:
/^https?:\/\/[^\/]*(\/(?!.)|\/#(?=.*)|\/webhp(?=\?.*)|\/search(?=\?.*))/Код:
http://google.com/webhp?.... -> /webhpvar result, pattern = /^https?:\/\/[^\/]*(\/(?!.)|\/#(?=.*)|\/webhp(?=\?.*)|\/search(?=\?.*))/; result = 'http://google.com/webhp?....'.match( pattern ); alert( result && result[1] ); result = 'http://google.com/search?... '.match( pattern ); alert( result && result[1] ); result = 'http://google.com/#....'.match( pattern ); alert( result && result[1] ); result = 'http://google.com/'.match( pattern ); alert( result && result[1] ); result = 'http://google.com/...'.match( pattern ); alert( result && result[1] ); result = 'http://google.com/.../'.match( pattern ); alert( result && result[1] ); result = 'http://google.com'.match( pattern ); alert( result && result[1] ); |
Magneto,
Вариант... var result, pattern = /^https?:\/\/[^/]*(\/([^/?.]+|$))/; result = 'http://google.com/webhp?....'.match( pattern ); alert( result && result[1] ); result = 'http://google.com/search?... '.match( pattern ); alert( result && result[1] ); result = 'http://google.com/#....'.match( pattern ); alert( result && result[1] ); result = 'http://google.com/'.match( pattern ); alert( result && result[1] ); result = 'http://google.com/...'.match( pattern ); alert( result && result[1] ); result = 'http://google.com/.../'.match( pattern ); alert( result && result[1] ); result = 'http://google.com'.match( pattern ); alert( result && result[1] ); |
Должна возвращать только webhp или search, на все другие варианты не должна реагировать.
var result, pattern = /^https?:\/\/[^/]*(\/([^/?.]+|$))/; result = 'http://google.com/aaa?....'.match( pattern ); alert( result && result[1] ); |
| Часовой пояс GMT +3, время: 07:23. |