За последние 24 часа нас посетили 16629 программистов и 1643 робота. Сейчас ищут 1212 программистов ...

Javascript и регулярные выражения

Тема в разделе "JavaScript и AJAX", создана пользователем Andrey K., 28 авг 2008.

  1. Andrey K.

    Andrey K. Активный пользователь

    С нами с:
    22 май 2007
    Сообщения:
    83
    Симпатии:
    0
    Привет!
    На странице есть форма с полями для ввода имени, фамилии, мыла...

    Нужно при помощи javascript`а проверять правильность вводимой информации.
    С полем для мыла вроде разобрался -

    Код (Text):
    1.  
    2. function mail (str)
    3. {
    4.    return /^([a-z0-9_\.]+@[a-z0-9_\.]+.[a-z]{2,3})*$/i.test(str);
    5. }
    То есть, если функция вернула true, то мыло введено правильно.

    Другое дело, поля для ввода имени и фамилии...
    Нужно что бы пользователь мог ввести имя и фамилию или на русском или на английском языках, не менее двух символов...
    Регулярку написал такую:

    Код (Text):
    1.  
    2. function text (str)
    3. {
    4.    return /^[a-zа-я]{2,}$/gi.test(str);
    5. }
    Но что-то она не работает...
    Подскажите, как правильно написать такую регулярку?
     
  2. neverlose

    neverlose Активный пользователь

    С нами с:
    27 авг 2008
    Сообщения:
    1.112
    Симпатии:
    20
    /i на а-я не действуют, надо писать а-яА-Я, насколько я помню... + надо отдельно выносить букву ё. Т.к. она не находится в промежутке а-я. вот пример, так же бывают двойные имена через дефис либо пробел... не стоит об этом забывать.
    Код (Text):
    1.  
    2. function text (str)
    3. {
    4.    return /^[a-zа-яА-ЯёЁ\ -]{2,}$/gi.test(str);
    5. }
     
  3. Andrey K.

    Andrey K. Активный пользователь

    С нами с:
    22 май 2007
    Сообщения:
    83
    Симпатии:
    0
    а если нужно еще на украинском языке разрешить?

    Для чего нужен символ \ после Ё?
     
  4. neverlose

    neverlose Активный пользователь

    С нами с:
    27 авг 2008
    Сообщения:
    1.112
    Симпатии:
    20
    Экранированный пробел, а какая разница, между русским и украинским, если кириллица там одна и та же? и вообще, я бы использовал просто \w
     
  5. Andrey K.

    Andrey K. Активный пользователь

    С нами с:
    22 май 2007
    Сообщения:
    83
    Симпатии:
    0
    А если javascript в разных браузерах работает по разному - это нормально?
     
  6. BS

    BS Активный пользователь

    С нами с:
    10 апр 2008
    Сообщения:
    149
    Симпатии:
    0
    Так уж сложилось :)