Модераторы: Sardar, Aliance
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> проверка url из input|textarea, проверить адрес введенной ссылки 
:(
    Опции темы
Сisa
Дата 2.7.2013, 20:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 179
Регистрация: 18.1.2013

Репутация: нет
Всего: нет



Как проверить url указанный пользователем ?

Найденные мной в сети регулярки хорошо работают, но они не "ловят" // после домена.
Можно было бы проверять два раза, одной из работающих регулярок, и вторая проверка на эти //
и не получается:
Код

function isValidUrl(url){
 var Re = /^(http|https|ftp)\:\/\/([^\/]*||\/[^\/]*)\/\/([^\/]*||\/[^\/]*)$/;
 if(Re.test(url))return false;
 return true;
}
alert(isValidUrl('http://i.ua//') )   // false
alert(isValidUrl('http://i.ua/hybgyyvyvy//kjhn.html') )   // true
alert( isValidUrl('www.google.comdrhgth.hjyj/fhgfdh//ghfghgf/gfh/hgf/gf/gh/gf/gf/g/fgghg.hghhjgh//gh') ) // true


 

PM MAIL   Вверх
Сisa
Дата 2.7.2013, 22:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 179
Регистрация: 18.1.2013

Репутация: нет
Всего: нет



Код

for(var a=e.split(''),i=0,j=a.length,p,k=0;i<j;){
 if(a[i]=='/'&&p=='/'&&k==1)return false;
 else if(p=='/'&&p==a[i])k++;p=a[i++];
}



Это сообщение отредактировал(а) Сisa - 2.7.2013, 22:43
PM MAIL   Вверх
ksnk
Дата 3.7.2013, 09:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прохожий
****


Профиль
Группа: Комодератор
Сообщений: 6855
Регистрация: 13.4.2007
Где: СПб

Репутация: 84
Всего: 386



Код

function isValidUrl(url){
 var Re = /^(http|https|ftp)\:\/(\/[^\/]+)+\/?$/;
 if(!Re.test(url))return false;
 return true;
}

А так?


--------------------
Человеку свойственно ошибаться, программисту свойственно ошибаться профессионально ! user posted image
PM MAIL WWW Skype   Вверх
akizelokro
Дата 6.7.2013, 21:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Крокодил
**


Профиль
Группа: Участник
Сообщений: 761
Регистрация: 30.7.2007

Репутация: 2
Всего: 5



Код

    var ab = "abbc%dabf";
    var base64test = ^http(s)?://[a-z0-9-]+(.[a-z0-9-]+)*(:[0-9]+)?(/.*)?$|i;
    var found_pos = ab.search(base64test);
    if ( found_pos > -1 )
    {
        alert(found_pos);
    }
 
ftp сразу видно, что не ловит. кириллицу тоже не ловит, надо будет дописать.
даже вообще не помню, зачем этот код. Кажется, чтобы вылавливать ссылки на урлы в base64-коидровке.

Этот ответ добавлен с нового Винграда - http://vingrad.com
PM MAIL   Вверх
Сisa
Дата 15.7.2013, 12:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 179
Регистрация: 18.1.2013

Репутация: нет
Всего: нет



ksnk - спасибо! Именно так я и хотел решить свою задачу, т.е. с помощью регулярного выражения.
Может быть циклом в каких то случаях и быстрее, но ввиду того, что проверок данных формы не много, одна, или две, то цикл просто не нужен.

PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Форум для вопросов, которые имеются в справочниках, но их поиск вызвал затруднения, или для разработчика требуется совет или просьба отыскать ошибку. Напоминаем: 1) чётко формулируйте вопрос, 2) приведите пример того, что уже сделано, 3) укажите явно, нужен работающий пример или подсказка о том, где найти информацию.
 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | JavaScript: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0750 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.