Генератор случайных чисел   •   Online-инструменты
1 828 просм
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
комментария
Игорь
17.12 в 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;
}
  • 0
Игорь, здравствуйте. Если я правильно понял, оставить нужно цифры в уже итоговом варианте. А именно, в строке - sumSpan.innerHTML=' '+sum;

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

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

Если я не так понял принцип работы скрипта - то поясните, что он делает.
  • 8
Гостям запрещено учавствовать в обсуждениях сайта. Авторизуйтесь, чтобы иметь возможность оставить свое мнение о материале или задать вопрос.