Разрешить только e-mail и запятые

Тема в разделе "Регулярные выражения", создана пользователем Sunday, 1 дек 2012.

Модераторы: xpert13
  1. Sunday

    Sunday

    Регистр.:
    13 дек 2009
    Сообщения:
    724
    Симпатии:
    314
    Здрасте!
    Помогите пожалуйста с двумя простыми регулярками.

    1. В проверяемой строке должны быть только e-mail-ы и запятые.
    2. В проверяемой строке должны быть только цифры и запятые.

    Для проверки мыл есть регулярка, но я не смог туда присобачить запятую :ah:
     
  2. Qwest-fx

    Qwest-fx Постоялец

    Регистр.:
    3 апр 2007
    Сообщения:
    129
    Симпатии:
    39
    Я бы сделал, так для проверки E-mail
    Вернет строку с E-mail, дальше на php
    PHP:
    <?php
    $mail_string 
    'abs@asd.ru,asdsf@mass.com,';
     
    $flag preg_match("#^(([-a-z0-9!\#$%&'*+/=?^_`{|}~]+(?:\.[-a-z0-9!\#$%&'*+/=?^_`{|}~]+)*@(?:[a-z0-9]([-a-z0-9]{0,61}[a-z0-9])?\.)*(?:aero|arpa|asia|biz|cat|com|coop|edu|gov|info|int|jobs|mil|mobi|museum|name|net|org|pro|tel|travel|[a-z][a-z]))(,|)?)+$#"$mail_string$result);
    if(
    $flag) {
        
    $result[0] = rtrim($result[0], ',');
        
    $arr_mail explode(',',$result[0]);
        
    var_dump($arr_mail);
    }
    PHP:
    $mail_string '898989898,68686,8,68,8,6,6,6,8,8,';
    $mail_string trim($mail_string',');
    $flag preg_match("#^[0-9,]+$#"$mail_string$result);
    if(
    $flag) {
     
        
    var_dump($result);
    }
    # имена переменных сменить надо. чтобы не запутиться
     
  3. NiceShot

    NiceShot Писатель

    Регистр.:
    19 июн 2012
    Сообщения:
    5
    Симпатии:
    0
    $flag = preg_match("#^(([-a-z0-9!\#$%&'*+/=?^_`{|}~]+(?:\.[-a-z0-9!\#$%&'*+/=?^_`{|}~]+)*@(?:[a-z0-9]([-a-z0-9]{0,61}[a-z0-9])?\.)*(?:aero|arpa|asia|biz|cat|com|coop|edu|gov|info|int|jobs|mil|mobi|museum|name|net|org|pro|tel|travel|[a-z][a-z]))(,|)?)+$#", $mail_string, $result);
    if($flag) {
    $result[0] = rtrim($result[0], ',');
    $arr_mail = explode(',',$result[0]);
    var_dump($arr_mail);
    }

    не работает
     
  4. xpert13

    xpert13 <(*_*)>

    Moderator
    Регистр.:
    7 ноя 2008
    Сообщения:
    182
    Симпатии:
    453
    Какой $mail_string использовали для проверки?