Javascript-форум (https://javascript.ru/forum/)
-   Элементы интерфейса (https://javascript.ru/forum/dom-window/)
-   -   Поиск трехзначных чисел (https://javascript.ru/forum/dom-window/65589-poisk-trekhznachnykh-chisel.html)

Goret 29.10.2016 19:48

Aetae,
вы мне очень помогли.
Вот что в результате получилось.
var text = "321 cfit 12. same word and sdfsdf 1 dfg465 ором789ячвпм оорир 12354 fgh1234dghfgh."
        var res = text.match(/(^|\D)\d{3}(?!\d)/g);
        alert("Количество трехзначных чисел в тексте " + res.length);
    
        alert('Трехзначные числа: ' + res );

Единственный нюанс в браузере в данном случае при выводе самих чисел, где перед числами стоят буквы, выводится одна буква. но если в условии убрать /D, тогда неправильный вывод.

Aetae 29.10.2016 20:01

Цитата:

Сообщение от Goret (Сообщение 433387)
Единственный нюанс в браузере в данном случае при выводе самих чисел, где перед числами стоят буквы, выводится одна буква. но если в условии убрать /D, тогда неправильный вывод.

Потому я и сказал что аккуратненько не получится, так или иначе потребуются дополнительные действия, если нужны ещё и сами числа.)

Deff 30.10.2016 04:09

var text = "321 cfit 12. same word and sdfsdf 1 dfg465 ором789ячвпм оорир 12354 fgh1234dghfgh."
        var arr = [];
        function repl(str){if(str.length==3) arr.push(str); return str;}
        var res = text.replace(/(\d+)/g,repl);
        alert("Количество трехзначных чисел в тексте " + arr.length);
    
        alert('Трехзначные числа: ' + arr );

Lemme 30.10.2016 04:48

var arr = "321 cfit 12. same word and sdfsdf 1 dfg465 ором789ячвпм оорир 12354 fgh1234dghfgh."
  .match(/\d+/g)
  .filter(n => n.length === 3)

alert("Количество трехзначных чисел в тексте " + arr.length);
alert('Трехзначные числа: ' + arr );


Часовой пояс GMT +3, время: 01:28.