Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 21.07.2012, 14:11
Аватар для RazZzeR
Кандидат Javascript-наук
Отправить личное сообщение для RazZzeR Посмотреть профиль Найти все сообщения от RazZzeR
 
Регистрация: 11.12.2011
Сообщений: 146

Проверка на наличии ссылки в поле, и ее обрезание
Добрый день,
Сразу к делу.
есть input, при изменении которого вызывается функция.
эту функцию надо сделать проверкой, введена ссылка в инпут, или это текст какойто,
и если это ссылка, то надо обрезать эту ссылку до домена,
например: http://google.com/ Обрезает в google.com
https://www.google.ru/intl/ru/ads/ обрезает в www.google.com

регуляры мне кажется не дано понять

Заранее спасибо за помощь, буду проверять тему постоянно, это важно
Ответить с цитированием
  #2 (permalink)  
Старый 21.07.2012, 14:21
что-то знаю
Отправить личное сообщение для devote Посмотреть профиль Найти все сообщения от devote
 
Регистрация: 24.05.2009
Сообщений: 5,176

var a = "Сразу к делу.\
 есть input, при изменении которого вызывается функция.\
 эту функцию надо сделать проверкой, введена ссылка в инпут, или это текст какойто,\
 и если это ссылка, то надо обрезать эту ссылку до домена,\
 например: http://google.com/ Обрезает в google.com\
 https://www.google.ru/intl/ru/ads/ обрезает в www.google.com\
 ftp://hehe.ru/, file://localhost/";

alert( a.replace( /(?:https?|file|ftp):\/\/([^\/\s]+)[^\s]*/ig, '$1') );
__________________
хм Russians say завтра but завтра doesn't mean "tomorrow" it just means "not today."
HTML5 history API рассширение для браузеров не поддерживающих pushState, replaceState
QSA CSS3 Selector Engine

Последний раз редактировалось devote, 21.07.2012 в 14:38.
Ответить с цитированием
  #3 (permalink)  
Старый 21.07.2012, 14:27
Аватар для Dim@
Профессор
Отправить личное сообщение для Dim@ Посмотреть профиль Найти все сообщения от Dim@
 
Регистрация: 21.04.2012
Сообщений: 951

<input id='input' type='text' onchange='prov()'>
<script type='text/javascript'>
var reg = /(http\:\/\/)|(https\:\/\/)|(file\:\/\/\/)|(ftp\:\/\/)/img;
function prov(){
 input = document.getElementById("input");
 input.value = input.value.replace(reg,"");
}
</script>
Ответить с цитированием
  #4 (permalink)  
Старый 21.07.2012, 14:33
что-то знаю
Отправить личное сообщение для devote Посмотреть профиль Найти все сообщения от devote
 
Регистрация: 24.05.2009
Сообщений: 5,176

Dim@,
во намудрил, это не проще ли?
/(?:https?|file|ftp):\/\/([^\/\s]+)[^\s]*/ig
__________________
хм Russians say завтра but завтра doesn't mean "tomorrow" it just means "not today."
HTML5 history API рассширение для браузеров не поддерживающих pushState, replaceState
QSA CSS3 Selector Engine
Ответить с цитированием
  #5 (permalink)  
Старый 21.07.2012, 14:35
Аватар для Dim@
Профессор
Отправить личное сообщение для Dim@ Посмотреть профиль Найти все сообщения от Dim@
 
Регистрация: 21.04.2012
Сообщений: 951

devote,
проще - я давно реги не читал плохо помню - единственное что помню - это что \d - означает [0-9]
Ответить с цитированием
  #6 (permalink)  
Старый 21.07.2012, 14:38
Аватар для RazZzeR
Кандидат Javascript-наук
Отправить личное сообщение для RazZzeR Посмотреть профиль Найти все сообщения от RazZzeR
 
Регистрация: 11.12.2011
Сообщений: 146

А вот еще один момент.
вдруг человек введет ссылку без www, http, https, и другой левой частью?
т.е. google.com/intl/ru/ads/ обрезает в google.com
Ответить с цитированием
  #7 (permalink)  
Старый 21.07.2012, 14:38
Аватар для Dim@
Профессор
Отправить личное сообщение для Dim@ Посмотреть профиль Найти все сообщения от Dim@
 
Регистрация: 21.04.2012
Сообщений: 951

devote,
люди совсем обленились - не хотят учить реги -
Цитата:
Мой мозг отказывается понимать рег-экспы
Цитата:
Помогите с регами очень нужно плз
Цитата:
Я вообще не понимаю регулярные выажения
Ответить с цитированием
  #8 (permalink)  
Старый 21.07.2012, 14:39
Аватар для Dim@
Профессор
Отправить личное сообщение для Dim@ Посмотреть профиль Найти все сообщения от Dim@
 
Регистрация: 21.04.2012
Сообщений: 951

RazZzeR,
чъя рега?
Ответить с цитированием
  #9 (permalink)  
Старый 21.07.2012, 14:50
Аватар для RazZzeR
Кандидат Javascript-наук
Отправить личное сообщение для RazZzeR Посмотреть профиль Найти все сообщения от RazZzeR
 
Регистрация: 11.12.2011
Сообщений: 146

знать бы что это )))
Ответить с цитированием
  #10 (permalink)  
Старый 21.07.2012, 15:09
что-то знаю
Отправить личное сообщение для devote Посмотреть профиль Найти все сообщения от devote
 
Регистрация: 24.05.2009
Сообщений: 5,176

Сообщение от RazZzeR
А вот еще один момент.
вдруг человек введет ссылку без www, http, https, и другой левой частью?
т.е. google.com/intl/ru/ads/ обрезает в google.com
ну молодцы, раз так введут.. откуда же реги знать домен это или фича какая нить. Можно конечно прописать правила на верхние домены:
var a = "google.com/intl/ru/ads/ обрезает в google.com\
 например: http://google.com/ Обрезает в google.com\
 https://www.google.ru/intl/ru/ads/ обрезает в www.google.com\
 ftp://hehe.ru/, file://localhost/ http://президент.рф/sdf/ www.google.ru/intl/ru/ президент.рф/sdf/";

alert( a.replace( /(?:(?:https?|file|ftp)?:?\/\/([^\/\s]+)|([^\/]+\.(?:ru|com|net|org|biz|info|рф)))[^\s]*/ig, '$1$2') );
__________________
хм Russians say завтра but завтра doesn't mean "tomorrow" it just means "not today."
HTML5 history API рассширение для браузеров не поддерживающих pushState, replaceState
QSA CSS3 Selector Engine

Последний раз редактировалось devote, 21.07.2012 в 15:27.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Получить координаты курсора в текстовом поле в пикселях prike Events/DOM/Window 4 23.05.2013 04:35
Проверка УРЛ в поле формы alex19rus Javascript под браузер 2 24.06.2011 11:33
Проверка наличия текста в поле формы Glook jQuery 6 16.07.2010 19:46
Проверка текста, вписанного в поле. ashurillia Общие вопросы Javascript 4 27.03.2010 13:24