Проверка на наличии ссылки в поле, и ее обрезание
Добрый день, :thanks:
Сразу к делу. есть input, при изменении которого вызывается функция. эту функцию надо сделать проверкой, введена ссылка в инпут, или это текст какойто, и если это ссылка, то надо обрезать эту ссылку до домена, например: http://google.com/ Обрезает в google.com https://www.google.ru/intl/ru/ads/ обрезает в www.google.com регуляры мне кажется не дано понять :-E Заранее спасибо за помощь, буду проверять тему постоянно, это важно :) |
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') ); |
<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> |
Dim@,
во намудрил, это не проще ли? /(?:https?|file|ftp):\/\/([^\/\s]+)[^\s]*/ig |
devote,
проще - я давно реги не читал плохо помню - единственное что помню - это что \d - означает [0-9]:thanks: |
А вот еще один момент.
вдруг человек введет ссылку без www, http, https, и другой левой частью? т.е. google.com/intl/ru/ads/ обрезает в google.com |
devote,
люди совсем обленились - не хотят учить реги - Цитата:
Цитата:
Цитата:
|
RazZzeR,
чъя рега? |
знать бы что это :))))
|
Цитата:
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') ); |
Часовой пояс GMT +3, время: 16:39. |