Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 07.03.2010, 15:33
Аспирант
Отправить личное сообщение для Amateur Посмотреть профиль Найти все сообщения от Amateur
 
Регистрация: 07.03.2010
Сообщений: 88

как проверить ссылку введенную пользователем на соответствие образцу
Здравствуйте.
['validate-name', 'В имени допускаются только русские буквы и размер от 3 до 30 букв. Напимер: Иван', function (v) {
				return Validation.get('IsEmpty').test(v) ||  /^[а-яА-Я]{3,40}$/.test(v)
			}],


Данный вид позволяет вводить только русские буквы от 3 от 40 символов.
А как проверить ссылку введенную пользователем на соответствие образцу?
Поясню - мне надо, чтобы ссылка начиналась только с http://www.mysite.ru и ни с каких других символов.
Ответить с цитированием
  #2 (permalink)  
Старый 07.03.2010, 16:02
Аватар для Tim
Tim Tim вне форума
Профессор
Отправить личное сообщение для Tim Посмотреть профиль Найти все сообщения от Tim
 
Регистрация: 05.06.2009
Сообщений: 1,703

alert( /^(http:\/\/)?(www\.)?mysite\.ru/.test('http://www.mysite.ru/page1.html') );

Расшифровка:
^ - начало слова
(http:\/\/)? - ноль или одно повторение http://
(www\.)? - ноль или одно повторение www.

Функция test является методом класса RegExp. Этот метод принимает строку и возвращает true если строка соответствует шаблону и false в обратном случае.
__________________
Лучше установить FreeBSD, чем потратить 30 лет на Linux'ы и выяснить какой из них хуже.
Самые главные в жизни вещи - не вещи! (было написано на одном гараже =)
Ответить с цитированием
  #3 (permalink)  
Старый 07.03.2010, 17:28
Аспирант
Отправить личное сообщение для Amateur Посмотреть профиль Найти все сообщения от Amateur
 
Регистрация: 07.03.2010
Сообщений: 88

класс.
помогло спасибо.
Один момент - можно ли проверить еще на наличие пробелов в ссылке?
К примеру если ссылка имеет вид http://www.mysite.ru/page1.html а юзер ввел http://www.mysite.ru/page 1.html (пробел перед 1 поставил)?
Ответить с цитированием
  #4 (permalink)  
Старый 07.03.2010, 18:18
Аватар для Tim
Tim Tim вне форума
Профессор
Отправить личное сообщение для Tim Посмотреть профиль Найти все сообщения от Tim
 
Регистрация: 05.06.2009
Сообщений: 1,703

Без пробелов:
alert( /^(http:\/\/)?(www\.)?mysite\.ru[^ ]*$/.test('http://www.mysite.ru/page1.html') );

C пробелами:
alert( /^(http:\/\/)?(www\.)?mysite\.ru[^ ]*$/.test('http://www.mysite.ru/page 1.html') );

Расшифровка:
[^ ]* - любое число (в том числе 0) любых печатных символов кроме пробела
$ - конец строки
__________________
Лучше установить FreeBSD, чем потратить 30 лет на Linux'ы и выяснить какой из них хуже.
Самые главные в жизни вещи - не вещи! (было написано на одном гараже =)
Ответить с цитированием
  #5 (permalink)  
Старый 07.03.2010, 18:31
Аватар для B@rmaley.e><e
⊞ Развернуть
Отправить личное сообщение для B@rmaley.e><e Посмотреть профиль Найти все сообщения от B@rmaley.e><e
 
Регистрация: 11.01.2010
Сообщений: 1,810

Сообщение от Tim
[^ ]* - любое число (в том числе 0) любых печатных символов кроме пробела
Это лучше обозначать как \S.
Ответить с цитированием
  #6 (permalink)  
Старый 07.03.2010, 19:49
Аспирант
Отправить личное сообщение для Amateur Посмотреть профиль Найти все сообщения от Amateur
 
Регистрация: 07.03.2010
Сообщений: 88

спасибо за помощь))) теперь все отлично
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
как проверить, есть ли переменная Аскар Общие вопросы Javascript 3 04.01.2010 17:09
Как проверить ссылку на работоспособнось? Oleg_777 Общие вопросы Javascript 23 19.03.2009 18:57
Как постоянно запускать одну и туже ссылку? Maxim Общие вопросы Javascript 28 27.02.2009 09:25
Как проверить существование функции Aderba Общие вопросы Javascript 2 14.11.2008 16:09
как проверить поддеружет браузер определенное событие? GOll Элементы интерфейса 9 24.07.2008 14:40