@dimone73

Как сформировать условие для проверки сокета в JS?

Правлю чужую программу от ошибок. Раньше скрипт проверял два поля - IP/DNS в поле c id extLineSipProxy, и порт в поле с id extLineSipPort. Но это не работало - порт не оказывал влияние на работу программы. Получилось так, что если в поле c id extLineSipProxy вписывать через двоеточие IP:PORT - все замечательно работает.
PHP убрал вообще поле extLineSipPort, да и целый класс. Теперь весь ввод идет в поле extLineSipProxy обоих параметров через двоеточие IP:PORT, присваиваются они одной переменной. А вот как теперь сделать, что бы JS после IP либо имени DNS (а IP/DNS и не проверялись толком, да и неблагодарное это дело) и после знака ':' проверял валидность ввода порт? То есть как подтянуть условия из функций (исходники ниже)

$("#wrappelLine").on("dblclick", "#extLineSipProxy", function () {
        var text = $(this).text();
        var id = $(this).attr("id");
        $(this).replaceWith('<input type="text" class="EXL_MAIN_SIP_C3TCRRInp1" id="' + id + '" value="' + text + '" />');
        $("#" + id).focus();
    });
    $("#wrappelLine").on("focusout", "#extLineSipProxy", function () {
        var text = $(this).val();
        var id = $(this).attr("id");

        $(this).replaceWith('<div class="EXL_MAIN_SIP_C3TCRRInp1" id="' + id + '">' + text + '</div>');

    });

    $("#wrappelLine").on("dblclick", "#extLineSipPort", function () {
        var text = $(this).text();
        var id = $(this).attr("id");
        $(this).replaceWith('<input type="text" class="EXL_MAIN_SIP_C3TCRRInpSh1" maxlength="5" id="' + id + '" value="' + text + '" />');
        $("#" + id).focus();
    });
    $("#wrappelLine").on("focusout", "#extLineSipPort", function () {
        var text = $(this).val();
        var id = $(this).attr("id");
        var reg = /^(([0-9]{1,4})|([1-5][0-9]{4})|(6[0-4][0-9]{3})|(65[0-4][0-9]{2})|(655[0-2][0-9])|(6553[0-5]))$/;
        if (!reg.test(text) && $.trim(text) != "") {
            alert("Неверное значение порта.\nВы должны выбрать порт из данного диапазона:\n0-65535.");
            //            $(this).focus();
            return 0;
        }
        if ($.trim(text.replace(/[",']/g, '')) == "" && $.trim(text) != "") {
            alert("Введите Порт!");
            //            $(this).focus();
        } else {
            if ($.trim(text) == "") {
                text = 5060;
            }
            $(this).replaceWith('<div class="EXL_MAIN_SIP_C3TCRRInpSh1" id="' + id + '">' + text + '</div>');
            $("#extLineSipURI").attr("title", 'sip:' + $("#extLineSipLogin").text() + '@' + $("#extLineSipHost").text() + ':' + text);
        }
    });
  • Вопрос задан
  • 83 просмотра
Пригласить эксперта
Ответы на вопрос 1
@dimone73 Автор вопроса
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
КРАФТТЕК Санкт-Петербург
от 60 000 до 80 000 ₽
Brightdata Тель-Авив
от 5 500 до 6 500 $
Rocket Брянск
от 60 000 до 100 000 ₽
28 мая 2024, в 08:33
500000 руб./за проект
28 мая 2024, в 07:56
1500 руб./в час
28 мая 2024, в 06:55
400 руб./в час