Адаптировать регулярку для Javascript

Тема в разделе "Регулярные выражения", создана пользователем funman, 14 янв 2014.

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

    funman Постоялец

    Регистр.:
    28 дек 2007
    Сообщения:
    146
    Симпатии:
    25
    Есть такая регулярка, которая вроде как должна фильтровать любые номера телефонов
    Код:
    Any phone number
    Very generic, but match phone numbers in style of:
    (93) 111 22 33
    +34 (93) 111 22 33
    +34 93 111 22 33
    +34 931112233
    93111 22 3393
    111223393
    11 2 2 3 4 5555
    +3493112233
    111-22-33-44
    111-222-3333
    +81-1-2222-3333...
    
    Pattern: /([+(\d]{1})(([\d+() -.]){5,16})([+(\d]{1})/gm
    проверял здесь


    Проблема в том что в Javascript оно не работает ... помогите адаптировать под Javascript

    Код:
    <script>
        $(function () {
            var field = new Array("title", "name", "mess", "email"); //поля обязательные
            $("form").submit(function () { // обрабатываем отправку формы  
               var error = 0; // индекс ошибки        
               var tit = $(".title2").val();
                if (!isValidTel(tit)) {
                    error = 4;
                    $(".title2").css('border', 'red 2 px solid'); // устанавливаем рамку красного цвета
                }
                //провека совпадения паролей
                if (error == 0) { // если ошибок нет то отправляем данные
                    return true;
                } else {
                    var err_text = ""           
                    if (error == 4) err_text = "Номер телефона введен не корректно";
                    $("#messenger").html(err_text);
                    $("#messenger").fadeIn("slow");
                    return false; //если в форме встретились ошибки , не  позволяем отослать данные на сервер.
                }
            })
        });
        function isValidTel(a) {
            var pattern = new RegExp(/\d*$/i);
            return pattern.test(a);
        }
    </script>
    <form class="text_forma" action="" method="post" enctype="multipart/form-data">
    <div id="messenger"></div>
            <input id="inp1" type="text" class="title2" name="title" size="40" placeholder="Тел +7 (Код) --- -- --">
            <input itype="submit" value="Отправить" name="submit" >
    </form>
    
     
  2. errogaht

    errogaht Постоялец

    Регистр.:
    15 май 2013
    Сообщения:
    50
    Симпатии:
    10
    что значит фильтровать? с помощью регулярки что сделать хотите?
    получить номер в одном формате ?
    или выцепить какие то части номера в переменные?
    Или проверить введен ли номер по данному шаблону?

    вот проверка есть ли совпадение по данному шаблону:
    HTML:
    if (/([+(\d]{1})(([\d+() -.]){5,16})([+(\d]{1})/.test(text)) {
        // Successful match
    } else {
        // Match attempt failed
    }