Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 18.01.2012, 11:28
Интересующийся
Отправить личное сообщение для kent666 Посмотреть профиль Найти все сообщения от kent666
 
Регистрация: 19.04.2011
Сообщений: 27

регулярные выражения функция search
Всем привет!
Не могу найти ошибку в работе функции search()
У меня есть валидатор формы который работает на функции search()
внутрь ее вноситься регулярное выражение. которое потом сопоставляется на соответствие с внесенными данными
В поле имя вносяться любые символы латиницы и кирилицы (регистр не важен)
регулярное выражение
/^[a-zа-я]$/ui

но внеся хоть один кирилический или латинский символ, функция дает значение -1 т.е. ОШИБКУ!
При этом в консоли ошибок не выдает
Ответить с цитированием
  #2 (permalink)  
Старый 18.01.2012, 12:03
Аватар для Skipp
.
Отправить личное сообщение для Skipp Посмотреть профиль Найти все сообщения от Skipp
 
Регистрация: 30.03.2010
Сообщений: 1,813

-1 это не ошибка, это означает, что совпадений в строке нет.
Какова логика регулярки?
__________________
.
Ответить с цитированием
  #3 (permalink)  
Старый 18.01.2012, 12:07
Интересующийся
Отправить личное сообщение для kent666 Посмотреть профиль Найти все сообщения от kent666
 
Регистрация: 19.04.2011
Сообщений: 27

нужно проверить входящие в форму данные!!!
Имя - только латиница и кирилица (в любом регистре)
/^[a-zа-я]+$/i

Должно работать а выдает -1 - т.е. НЕ совпадение
Ответить с цитированием
  #4 (permalink)  
Старый 18.01.2012, 12:19
Аватар для Riim
Рассеянный профессор
Отправить личное сообщение для Riim Посмотреть профиль Найти все сообщения от Riim
 
Регистрация: 06.04.2009
Сообщений: 2,379

alert('aA'.search(/^[a-zа-я]+$/i));// 0
Ответить с цитированием
  #5 (permalink)  
Старый 18.01.2012, 12:39
Интересующийся
Отправить личное сообщение для kent666 Посмотреть профиль Найти все сообщения от kent666
 
Регистрация: 19.04.2011
Сообщений: 27

Блин это все из за кавычек.

В HTML я в блоке указываю атрибут pattern="/^[a-zа-я]+$/i"

а при провеке в функцию search() попадает не

search(/^[a-zа-я]+$/i)


а

search("/^[a-zа-я]+$/i")


что можно сделать с кавычками?
Ответить с цитированием
  #6 (permalink)  
Старый 18.01.2012, 12:52
Аватар для Skipp
.
Отправить личное сообщение для Skipp Посмотреть профиль Найти все сообщения от Skipp
 
Регистрация: 30.03.2010
Сообщений: 1,813

pattern= /^[a-zа-я]+$/i

уберите их
__________________
.
Ответить с цитированием
  #7 (permalink)  
Старый 18.01.2012, 12:57
что-то знаю
Отправить личное сообщение для devote Посмотреть профиль Найти все сообщения от devote
 
Регистрация: 24.05.2009
Сообщений: 5,176

search(new RegExp("^[a-zа-я]+$", "i"))
Ответить с цитированием
  #8 (permalink)  
Старый 18.01.2012, 13:23
Интересующийся
Отправить личное сообщение для kent666 Посмотреть профиль Найти все сообщения от kent666
 
Регистрация: 19.04.2011
Сообщений: 27

devote,
Спасибо! Вроде бы это оно)))
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Регулярные выражения для проверки формы MichaelPak Элементы интерфейса 0 18.10.2011 19:23
нежадные регулярные выражения KOLANICH Общие вопросы Javascript 2 12.12.2010 01:08
регулярные выражения js smollvrn Javascript под браузер 4 18.10.2010 11:32
Регулярные выражения работают через раз San4ezy Общие вопросы Javascript 5 05.10.2010 01:50
Функции поиска и замены строк или регулярные выражения? Armen Общие вопросы Javascript 1 01.01.2010 12:35