Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / Скрипт для считывания определённого номера строки из файла / 11 сообщений из 11, страница 1 из 1
31.03.2017, 13:06
    #39430840
ukugyul552465
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Скрипт для считывания определённого номера строки из файла
На сайте лежит файл 1.txt с числами:
22
33
44

На странице index.php генерируется случайное число от 1 до 3:
код генерации случайного числа
Код: javascript
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
function getrandom() {   
var min_random = 1; //document.getElementById("gorndtbfrom").value * 1;   
var max_random = 2;//document.getElementById("gorndtbto").value * 1;  
max_random++;   
var range = max_random - min_random;   
var n=Math.random()*range + min_random;   
n=n.toFixed(0);  
//document.getElementById("gorndlbl").innerHTML =n;  
return n;   
}   
document.write(getrandom());



Он работает.

Далее, считываем содержимое файла 1.txt:
код считывания
Код: javascript
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
function getXmlHttp() {
    var xmlhttp;
    try {
        xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
    } catch (e) {
        try {
            xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
        } catch (E) {
            xmlhttp = false;
        }
    }
    if (!xmlhttp && typeof XMLHttpRequest != 'undefined') {
        xmlhttp = new XMLHttpRequest();
    }
    return xmlhttp;
}

(function () {
    var xmlhttp = getXmlHttp();
    xmlhttp.open('GET', '1.txt', false);
    xmlhttp.send(null);
    if (xmlhttp.status == 200) {
        var response = xmlhttp.responseText;
document.write(response);
    }
})();



Он тоже работает.

Однако, теперь есть проблема - нужно считать определённый номер строки из файла 1.txt.
Номер строки определяется переменной n, в которой хранится сгенерированное случайное число.

Однако, почитал, что на js можно считывать только весь файл целиком. Значит, его потом надо пропарсить.

var str = response;

К примеру, из него считывается 22 33 44
Кол-во цифр в номере может быть различной, надо по пробелам обрезать строку до и после нужного номера.

Подскажите, пожалуйста, код цикла, который будет вытаскивать нужный номер из строки str.
...
Рейтинг: 0 / 0
31.03.2017, 13:18
    #39430856
вадя
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Скрипт для считывания определённого номера строки из файла
ukugyul552465На сайте лежит файл 1.txt с числами:
тогда причем здесь js?
ты и читай средствами сервера и передай клиенту только нужное
ну а если передал клиенту весь текстовый файл - это на клиенте уже строка - вот и воспользуйся регуляркой
...
Рейтинг: 0 / 0
31.03.2017, 14:15
    #39430910
ukugyul552465
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Скрипт для считывания определённого номера строки из файла
Плохо знаю и js, и php.
Каким образом можно регулярными выражениями вытащить нужный номер из строки?
...
Рейтинг: 0 / 0
31.03.2017, 14:58
    #39430959
вадя
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Скрипт для считывания определённого номера строки из файла
...
Рейтинг: 0 / 0
31.03.2017, 15:28
    #39430984
krvsa
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Скрипт для считывания определённого номера строки из файла
ukugyul552465Каким образом можно регулярными выражениями вытащить нужный номер из строки?
Где пример такой строки?
...
Рейтинг: 0 / 0
31.03.2017, 17:36
    #39431084
ukugyul552465
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Скрипт для считывания определённого номера строки из файла
krvsa,

33 44 55 66 77

Нужный номер, допустим, 3.
...
Рейтинг: 0 / 0
31.03.2017, 17:44
    #39431090
hVostt
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Скрипт для считывания определённого номера строки из файла
...
Рейтинг: 0 / 0
31.03.2017, 17:47
    #39431093
ukugyul552465
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Скрипт для считывания определённого номера строки из файла
Пробовал split, что-то не так.

А так же, вот что есть сейчас - почему-то не работает:

код
Код: javascript
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
73.
74.
75.
76.
<script> 

var num;

function getrandom() {   
var min_random = 1; //document.getElementById("gorndtbfrom").value * 1;   
var max_random = 2;//document.getElementById("gorndtbto").value * 1;  
max_random++;   
var range = max_random - min_random;   
var n=Math.random()*range + min_random;   
n=n.toFixed(0);  
//document.getElementById("gorndlbl").innerHTML =n;
num=n;  
return n;   
}   
document.write(getrandom());



var str;
var gg;


function getXmlHttp()
{
    var xmlhttp;
    try {
        xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
    } catch (e) {
        try {
            xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
        } catch (E) {
            xmlhttp = false;
        }
    }
    if (!xmlhttp && typeof XMLHttpRequest != 'undefined') {
        xmlhttp = new XMLHttpRequest();
    }
    return xmlhttp;
}

(function () {
    var xmlhttp = getXmlHttp();
    xmlhttp.open('GET', '1.txt', false);
    xmlhttp.send(null);
    if (xmlhttp.status == 200) {
        var response = xmlhttp.responseText;
//document.write(response);
str = response;
gg = response;
    }
})();

var nstr;
var i = 1;




var s = gg.IndexOf("\n");
//var len = gg.length;
//gg = = gg.substring(s, len-1);

document.write(s);

for (i=1;i<=num;i++)
{

}






</script> 




Странно, что-то не так со строкой, где получается длина gg.
...
Рейтинг: 0 / 0
31.03.2017, 17:58
    #39431100
ukugyul552465
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Скрипт для считывания определённого номера строки из файла
var arr = gg.split('\n');

document.write(arr[num-1]);


Переписал, на этот раз всё работает.
...
Рейтинг: 0 / 0
31.03.2017, 18:03
    #39431104
ukugyul552465
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Скрипт для считывания определённого номера строки из файла
Однако такой код:

Код: javascript
1.
2.
3.
4.
5.
var arr = gg.split('\n');

var ans = arr[num-1];

document.write(ans);



вызывает ошибку Undefined.
...
Рейтинг: 0 / 0
31.03.2017, 18:06
    #39431106
ukugyul552465
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Скрипт для считывания определённого номера строки из файла
Всё, отбой, разобрался. Была ошибка выше по коду.
...
Рейтинг: 0 / 0
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / Скрипт для считывания определённого номера строки из файла / 11 сообщений из 11, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]