Я не знаю, что не так с этим кодом. Код занимает первую строку, проверяет ее, затем удаляет, а затем проверяет следующую строку. Однако, когда все строки пусты, код продолжает работать; оно не остановится.
function getSocksListInput() {
var socksList = $("#socks").val().split("\n");
var getTheSocksLine = $.trim(socksList[0].replace(/\s+/g, ''));
var getIP = $.trim(getTheSocksLine.split(":")[0]);
var getPort = $.trim(getTheSocksLine.split(":")[1]);
if (typeof getIP == "undefined" || typeof getPort == "undefined" || getIP == "" || getPort == "" && socksList.length != 0) {
getNewSocks();
console.log("i will not stop");
getSocksListInput();
} else if (getTheSocksLine.match(/^\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}:\d{1,6}$/) == null) {
socksDieResultDisplay(getIP + ":" + getPort);
getNewSocks();
getSocksListInput();
} else if (getIP == "" || getPort == "" || getTheSocksLine == "") {
getNewSocks();
getSocksListInput();
} else {
checkSocksLiveDie(getIP, getPort);
}
}
Если я изменю условие socksList.length
на != 1
, оно остановится нормально, однако не будет проверять последний результат. Почему?