паттерн на php для проверки номера телефона.

Discussion in 'PHP' started by x88x, 11 Jan 2008.

  1. x88x

    x88x Elder - Старейшина

    Joined:
    27 Nov 2007
    Messages:
    208
    Likes Received:
    119
    Reputations:
    16
    вобщем, нужно с помощью regular expressions проверить номер телефона на соответствие шаблону:

    +(ххх) ххх-хх-хх

    как обычно, с меня плюсик ;)
     
  2. bul.666

    bul.666 булка

    Joined:
    6 Jun 2006
    Messages:
    719
    Likes Received:
    425
    Reputations:
    140
    Не легче проверять, чтто должно быть 10 - 11 знаков, одни цифры, потом для вывода на странице можно уже изменить по такому шаблону, который ты привел
     
    1 person likes this.
  3. NOmeR1

    NOmeR1 Everybody lies

    Joined:
    2 Jun 2006
    Messages:
    1,068
    Likes Received:
    783
    Reputations:
    213
    preg_match('~^\+\(\d{3}\)\s?\d{3}-\d{2}-\d{2}$~', $number)
     
    3 people like this.
  4. bul.666

    bul.666 булка

    Joined:
    6 Jun 2006
    Messages:
    719
    Likes Received:
    425
    Reputations:
    140
    В этом случае пользователю нужно обезательно писать +(3 цифры)3цифры+2цифры+2цирфы
    Какэто не удобно это писать в одном инпуте
     
    1 person likes this.
  5. NOmeR1

    NOmeR1 Everybody lies

    Joined:
    2 Jun 2006
    Messages:
    1,068
    Likes Received:
    783
    Reputations:
    213
    Да лучше уж
    PHP:
    +<input type="text" name="num[]" maxlength="1" size="1">(<input type="text" name="num[]" maxlength="3" size="3">)<input type="text" name="num[]" maxlength="3" size="3">-<input type="text" name="num[]" maxlength="2" size="2">-<input type="text" name="num[]" maxlength="2" size="2">
    Тогда num будет массивом примерно таким
    Code:
    Array
    {
        [0] => x
        [1] => xxx
        [2] => xxx
        [4] => xx
        [5] => xx
    }
    Хотя и это будет не очень удобно
     
    1 person likes this.
  6. astrologer

    astrologer Elder - Старейшина

    Joined:
    30 Aug 2007
    Messages:
    837
    Likes Received:
    267
    Reputations:
    59
  7. banned

    banned Banned

    Joined:
    20 Nov 2006
    Messages:
    3,324
    Likes Received:
    1,194
    Reputations:
    252
    NOmeR1, а если заюзать firebug и изменить maxlenth ?
     
    1 person likes this.
  8. NOmeR1

    NOmeR1 Everybody lies

    Joined:
    2 Jun 2006
    Messages:
    1,068
    Likes Received:
    783
    Reputations:
    213
    Ну можно же на PHP проверять правильность ввода :) Он не просил это делать.
     
  9. x88x

    x88x Elder - Старейшина

    Joined:
    27 Nov 2007
    Messages:
    208
    Likes Received:
    119
    Reputations:
    16
    как и обещал - bul.666, NOmeR1 +2;
    astrologer, Isis - +1 =)
    спасибо за помощь...