Привет! На странице есть форма с полями для ввода имени, фамилии, мыла... Нужно при помощи javascript`а проверять правильность вводимой информации. С полем для мыла вроде разобрался - Код (Text): function mail (str) { return /^([a-z0-9_\.]+@[a-z0-9_\.]+.[a-z]{2,3})*$/i.test(str); } То есть, если функция вернула true, то мыло введено правильно. Другое дело, поля для ввода имени и фамилии... Нужно что бы пользователь мог ввести имя и фамилию или на русском или на английском языках, не менее двух символов... Регулярку написал такую: Код (Text): function text (str) { return /^[a-zа-я]{2,}$/gi.test(str); } Но что-то она не работает... Подскажите, как правильно написать такую регулярку?
/i на а-я не действуют, надо писать а-яА-Я, насколько я помню... + надо отдельно выносить букву ё. Т.к. она не находится в промежутке а-я. вот пример, так же бывают двойные имена через дефис либо пробел... не стоит об этом забывать. Код (Text): function text (str) { return /^[a-zа-яА-ЯёЁ\ -]{2,}$/gi.test(str); }
Экранированный пробел, а какая разница, между русским и украинским, если кириллица там одна и та же? и вообще, я бы использовал просто \w