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

Goret 27.10.2016 19:36

Поиск трехзначных чисел
 
Необходимо найти трехзначные числа и вывести их количество.
Вариантов много перепробовал, но все никак. Один из таких это
alert("321 cfit 12. same word and sdfsdf 1.".replace(/(\d{3})/g, ""));

Но выводит все кроме трехзначного числа, а нужно наоборот.
Если кто поможет, буду очень благодарен.

Lemme 27.10.2016 19:49

alert("321 cfit 12. same word and sdfsdf 1.".match(/(\d{3})/g).length);

рони 27.10.2016 19:49

Goret,
var len = "321 cfit 12. same word and sdfsdf 1.".match(/(\d{3})/g);
alert(len ? len.length : 0);

join 28.10.2016 13:32

рони,
<script>
 var len = "\\\321 cfit 12. same word and sdfsdf 1.".match(/(\d{3})/g);
alert((len ? len.length : 0) + ':( ');
</script>

рони 28.10.2016 13:51

join,
и какое решение в данном случае?

join 28.10.2016 14:30

рони,
Не знаю как это решить.:-?

Goret 28.10.2016 16:43

Спасибо всем кто откликнулся)

Aetae 28.10.2016 18:28

join,
alert(
  "\\\321 cfit 12. same word and sdfsdf 1." +
  "\nГде здесь здесь трёхзначное число, м?"
)

А по задаче - все ваши решения фигня, потому что поломаются на числах из более чем 3х знаков.)
Аккуратненького решения нет, но можно примерно так:
var len = "3215 cfit 12. same word444 and sdf33333sdf 1.".match(/(^|\D)\d{3}(?!\d)/g);
alert(len ? len.length : 0);

nerv_ 28.10.2016 22:22

Цитата:

Сообщение от Aetae
А по задаче - все ваши решения фигня, потому что поломаются на числах из более чем 3х знаков.)

По мне так еще проще -- проблема высасана из пальца :)

Как правило, подобный класс проблем возникает, когда не знают, как подойти к решению к той или иной задачи.

Deff 29.10.2016 01:39

Цитата:

Сообщение от Aetae (Сообщение 433284)
[
А по задаче - все ваши решения фигня, потому что поломаются на числах из более чем 3х знаков.)
Аккуратненького решения нет, но можно примерно так

Ну по логике, если есть двузначные, то есть и пятизначные, а значит всё остальное для цифровой последовательности, - разделители. И значимость числа определяется колвом непрерывной последовательности цифровых символов, т.е всё не цифровое - разделитили... (За цифру - принимаем десятичные цифровые символы)

:) Главное эт определиться с терминами ...


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