Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 31.10.2009, 17:46
Аспирант
Отправить личное сообщение для Beck Посмотреть профиль Найти все сообщения от Beck
 
Регистрация: 08.08.2009
Сообщений: 95

Регулярное выражение для проверки URL
Не подскажете пожалуйста?

Очень нужно для валидации в форме. Сам еще до регулярных выражений не добрался толком, только основы знаю.

Заранее спасибо!
Ответить с цитированием
  #2 (permalink)  
Старый 31.10.2009, 23:53
Аватар для Riim
Рассеянный профессор
Отправить личное сообщение для Riim Посмотреть профиль Найти все сообщения от Riim
 
Регистрация: 06.04.2009
Сообщений: 2,379

RegExp.url = '(?:(?:ht|f)tps?://)?(?:[\\-\\w]+:[\\-\\w]+@)?(?:[0-9a-z][\\-0-9a-z]*[0-9a-z]\\.)+[a-z]{2,6}(?::\\d{1,5})?(?:[?/\\\\#][?!^$.(){}:|=[\\]+\\-/\\\\*;&~#@,%\\wА-Яа-я]*)?';

'v-url': ['Требуется url адрес! Пример: www.mysite.ru', function(value) {
	return !value || (new RegExp('^' + RegExp.url + '$', 'i')).test(value);
}],


upd: вот еще: Текстовые ссылки в гиперссылки

Последний раз редактировалось Riim, 31.10.2009 в 23:55.
Ответить с цитированием
  #3 (permalink)  
Старый 01.11.2009, 15:22
Аспирант
Отправить личное сообщение для Beck Посмотреть профиль Найти все сообщения от Beck
 
Регистрация: 08.08.2009
Сообщений: 95

Жестко.

Еще бы кто то объяснил, какая часть выражения для чего нужна.

Я понимаю, что там сводка непринужденных и принужденных условий, но вот в конце вообще не разобрать, что творится.
Ответить с цитированием
  #4 (permalink)  
Старый 03.11.2009, 06:25
Профессор
Отправить личное сообщение для javascript_pupil Посмотреть профиль Найти все сообщения от javascript_pupil
 
Регистрация: 05.07.2009
Сообщений: 160

А какой смысл проверять URL на стороне клиента? Пользователь легко может такую проверку обойти и отправить в форму любые данные. Такие проверки надо делать на стороне сервера, соответственно не на javascript.
Ответить с цитированием
  #5 (permalink)  
Старый 03.11.2009, 06:29
Отправить личное сообщение для Octane Посмотреть профиль Найти все сообщения от Octane  
Регистрация: 09.07.2008
Сообщений: 3,873

Чтобы не отправлять зря ошибочные данные формы. КО
Ответить с цитированием
  #6 (permalink)  
Старый 03.11.2009, 06:37
Профессор
Отправить личное сообщение для javascript_pupil Посмотреть профиль Найти все сообщения от javascript_pupil
 
Регистрация: 05.07.2009
Сообщений: 160

Octane, а если у пользователя отключен javascript? Язык безусловно нужный, но только не для таких случаев.
Ответить с цитированием
  #7 (permalink)  
Старый 03.11.2009, 07:44
Отправить личное сообщение для Octane Посмотреть профиль Найти все сообщения от Octane  
Регистрация: 09.07.2008
Сообщений: 3,873

Я не отрицал, что на стороне сервера необходимо выполнять проверку.
Ответить с цитированием
  #8 (permalink)  
Старый 01.02.2011, 11:29
Новичок на форуме
Отправить личное сообщение для Mizuho Посмотреть профиль Найти все сообщения от Mizuho
 
Регистрация: 01.02.2011
Сообщений: 4

Сообщение от Riim
RegExp.url = '(??:ht|f)tps?://)?(?:[\\-\\w]+:[\\-\\w]+@)?(?:[0-9a-z][\\-0-9a-z]*[0-9a-z]\\.)+[a-z]{2,6}(?::\\d{1,5})?(?:[?/\\\\#][?!^$.(){}:|=[\\]+\\-/\\\\*;&~#@,%\\wА-Яа-я]*)?';
http://VasheSoznanie.ru/forum - работает
http://VasheSoznanie.ru - работает
http://VasheSoznanie.ru/ - НЕ работает

Буду очень признателен если исправите!...
Ответить с цитированием
  #9 (permalink)  
Старый 01.02.2011, 12:16
Профессор
Отправить личное сообщение для with-love-from-siberia Посмотреть профиль Найти все сообщения от with-love-from-siberia
 
Регистрация: 14.12.2009
Сообщений: 153

попробуйте вот эту регулярку

/^(?:([a-z]+):(?:([a-z]*):)?\/\/)?(?:([^:@]*)(?::([^:@]*))?@)?((?:[a-z0-9_-]+\.)+[a-z]{2,}|localhost|(?:(?:[01]?\d\d?|2[0-4]\d|25[0-5])\.){3}(?:(?:[01]?\d\d?|2[0-4]\d|25[0-5])))(?::(\d+))?(?:([^:\?\#]+))?(?:\?([^\#]+))?(?:\#([^\s]+))?$/i


Работает для подавляющего большинства URI (интернет- и почтовые адреса, DSN, понимает имена доменов, IP-адреса)
Ответить с цитированием
  #10 (permalink)  
Старый 01.02.2011, 12:29
Аватар для Riim
Рассеянный профессор
Отправить личное сообщение для Riim Посмотреть профиль Найти все сообщения от Riim
 
Регистрация: 06.04.2009
Сообщений: 2,379

Сообщение от Mizuho
http://VasheSoznanie.ru/ - НЕ работает
работает. Флаг IgnoreCase ставить надо.
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Модуль для работы с модулями JSprog Ваши сайты и скрипты 29 02.09.2009 12:31
Регулярное выражение для поиска смайлов. NightmareZ Общие вопросы Javascript 13 23.06.2009 12:12
регулярное выражение demi Общие вопросы Javascript 3 10.03.2009 12:10