Безлимитный хостинг на сверхбыстрых SSD-дисках от 66р в месяц   •   Реклама
4 402 просм
2 комм
Поделиться:

Как удалить все символы, кроме цифр, из строки на PHP/JavaScript?

При обработке полученных данных, допустим, фразы «Цена: 300 руб.», вам может потребоваться получение только числовых значений, например, для сложения и подведения общего итога.

Как же обрезать строку и получить только числа?

Удаляем все символы, кроме цифр, из строки на PHP

На PHP существует удобная функция «preg_replace» – с ее помощью мы и сделаем обработку данных.

Реализация:

<?php

	$content = "Цена: 300 руб."; // Исходные данные 
	$content = preg_replace("/[^0-9]/", "", $content);

	echo $content;

?>

Способ удобен, если вы обрабатываете данные на стороне сервера.

Удаляем все символы, кроме цифр, из строки на JavaScript

В JavaScript для решения тех же задач мы будем использовать replace. Реализация:

<script>

	var content = "Цена: 300 руб."; // Исходные данные
	var content = content.replace(/[^0-9]/gim, "");

	alert(content);

</script>

Этот способ удобен, если нужно обработать данные на стороне пользователя.

2
комментария
Форма комментирования этой статьи скрыта. Авторизуйтесь, чтобы расширить привилегии гостевого посещения и получить необходимую помощь от сообщества Pandoge.
    • 8
    828
      •  Администратор
    17 дек в 23:42

    Игорь, здравствуйте. Если я правильно понял, оставить нужно цифры в уже итоговом варианте. А именно, в строке - sumSpan.innerHTML=' '+sum;

    Тогда строчка эта будет выглядеть так:

    sumSpan.innerHTML=' '+sum.replace(/[^0-9]/gim, "");

    Если я не так понял принцип работы скрипта - то поясните, что он делает.

    • 0
    766
      •  Гости
    17 дек в 13:08

    Артем, подскажи, как в этой конструкции вырезать все символы, кроме цифр:

    // Сумма функционал

    var deskrBlock = document.getElementById('calc-group');

    var sumSpan = document.getElementById('sumSpan');

    document.onload = getSum();

    deskrBlock.addEventListener('click',function(e){

    if (e.target.tagName=='INPUT'){

    getSum();

    }})

    function getSum(){

    var sum = 0;

    var checked = deskrBlock.querySelectorAll('input:checked');

    [].forEach.call(checked,function(elem){

    sum+=+elem.value;

    })

    sumSpan.innerHTML=' '+sum;

    }

Подняться наверх
«Pandoge» - помощник вебмастера