Javascript-форум (https://javascript.ru/forum/)
-   Events/DOM/Window (https://javascript.ru/forum/events/)
-   -   регулярные выражения функция search (https://javascript.ru/forum/events/24897-regulyarnye-vyrazheniya-funkciya-search.html)

kent666 18.01.2012 11:28

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

но внеся хоть один кирилический или латинский символ, функция дает значение -1 т.е. ОШИБКУ!
При этом в консоли ошибок не выдает :blink:

Skipp 18.01.2012 12:03

-1 это не ошибка, это означает, что совпадений в строке нет.
Какова логика регулярки?

kent666 18.01.2012 12:07

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

Должно работать а выдает -1 - т.е. НЕ совпадение

Riim 18.01.2012 12:19

alert('aA'.search(/^[a-zа-я]+$/i));// 0

kent666 18.01.2012 12:39

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

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

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

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


а

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


что можно сделать с кавычками?

Skipp 18.01.2012 12:52

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

уберите их

devote 18.01.2012 12:57

search(new RegExp("^[a-zа-я]+$", "i"))

kent666 18.01.2012 13:23

devote,
Спасибо! Вроде бы это оно)))


Часовой пояс GMT +3, время: 21:10.