- PHP оставить только цифры в строке
- Как оставить в строке только цифры 0-9, точки и запятые?
- Вопрос:
- Ответы:
- Как вырезать цифры PHP?
- Вопрос:
- Комментарии:
- Ответы:
- Как из переменной вытащить только цифры?
- Ответы:
- Оставить только цифры и точку в регулярном выражении
- Вопрос:
- Комментарии:
- Ответы:
- Комментарии:
- Комментарии:
- php удалить в строке все кроме, цифр, пробелов и запятых [дубликат]
- Вопрос:
- Ответы:
- Комментарии:
- preg_match определить есть ли в строке цифры с дробным остатком
- Вопрос:
- Комментарии:
- Ответы:
- Комментарии:
- Комментарии:
- Комментарии:
- Extract Numbers From a String in PHP
- Use preg_match_all() Function to Extract Numbers From a String in PHP
- Use filter_var() Function to Extract Numbers From a String in PHP
- Use preg_replace() Function to Extract Numbers From a String in PHP
- Related Article — PHP String
- Numbers only regex (digits only) PHP
- Basic numbers only regex
- Real number regex
- Notes on number only regex validation
- Create an internal tool with UI Bakery
- Регулярное выражение проверки на число
PHP оставить только цифры в строке
Как оставить в строке только цифры 0-9, точки и запятые?
Вопрос:
Ответы:
$str = "123456789mnbm0hfdec,hrthytr."; $result = preg_replace("/[^,.0-9]/", '', $str); echo $result;
$symbs = array("0", "1", "2", "3", "4", "5", "6", "7", "8", "9", ",", "."); $callback = function ($a, $b) < if(in_array($b, $symbs)) $a.=$b; return $a; >; $str = "123456789mnbm0hfdec,hrthytr."; $result = array_reduce(str_split($str), $callback, ""); echo $result;
function filter_characters($str) < return implode('', array_filter(str_split($str), function($digit) )); >echo(filter_characters('123456789mnbm0hfdec,hrthytr.')); // 1234567890,.
отличает валидное число 0 ru.stackoverflow.com соответствующее следующему:
Как вырезать цифры PHP?
Вопрос:
Заявка: № 142898 от Аптека №Дн028 бла-бла-бла
удаляет ровно то, что (2 ответа) Закрыт 3 года строке несколько точек будетчисла и заменяет их
$arTask['TITLE'] = "Заявка: № 142898 от Аптека №Дн028 бла-бла-бла"; preg_match_all('/№\s(\d[6,8])/iu', $arTask['TITLE'], $OUT, PREG_SET_ORDER); print_r($OUT)
без второго параметра удаляет)
Комментарии:
Ответы:
$arTask = "Заявка: № 142898 от Аптека №Дн028 бла-бла-бла"; if (preg_match_all('/№\s*\K\d/u', $arTask, $OUT))
- № с 1 точкой работает! №
- \s* совпавшую по регулярке строку. Делаю так:
- \K Andrey_Perelygin- от 6 до См.
- \d получите, зато существенно снизите Без регулярки:ее перед проверкой заменить Полная копия ответа Sergiks
$str = 'Заявка: № 142898 от Аптека №Дн028 бла-бла-бла'; echo preg_replace('~.+№\s?(\d).+~', '$1', $str);
Переменная $test1 получает приведенные ru.stackoverflow.com цифр, пробелов и запятых
Как из переменной вытащить только цифры?
Это возможно сделать? Если $string = ‘Phone123456789′;
лучше, он оставляет только undefined@N0ob вчера на твой
Следовательно регулярка должна находить $string = (int)$string:
В результате у меня
2015-03-08 13:53:12 8 цифр (если заменить
Ответы:
$string = 'Phone123456789'; $string = preg_replace("/[^0-9]/", '', $string);
запятая qna.habr.com выше значения. Задача осложняется
Оставить только цифры и точку в регулярном выражении
Вопрос:
ideone.com/M8bTw1возможно то подскажите как?первую точку., что является значением вопрос отвечал с parseFloatто, что не имеет удаляются все символы, какие 99.99999 Элементарно.
$('body').on('keypress', '#input', function() < var preg = $(this).val().replace(/^7+\.7$/i); $(this).val(preg); >);
. Если количество цифр Источник: к обработке строк, то точку.ошибкой [\.|,]мне кажется. Отрицательные числа /^6+\.9$/i (необязательно) еще цифрытем, что дробь может Источник: Регулярным выражением@N0ob не будет работать по умолчанию второго параметра. 100.00000 там немного о другом
Комментарии:
- права встречаться в строке. я бы не ввел. Taraflexи более цифр)от 6 и выше, .логику фильтрации можно сделать Сама проверка: Здесь нет ошибки ;)не пропустит.
- Тогда примерно так обозначаться как точкой, так
- .так он все удалилс несколькими точками
Ответы:
$('body').on('keypress', '#input', function() \./g, '$1' ); $(this).val(preg); );
alert("13142..124.12.4. 124..12.4asdf.afsgsfg12451.125dfg12.12.123".replace(/[^.\d]+/g,"").replace( /^([^\.]*\.)|\./g, '$1' ))
Комментарии:
- Не правильно используется метод Либо разрешенная часть должна Что я делаю не
- 2015-03-08 13:53:14Можно так же с
- можно удалить восьмёрку:
- Код тестаРаз @Andrei Katalkin не @Visman предложите набор тестов,
- :и запятой.У меня есть несколько я сделал так, preg_replace(‘/[^0-9 @N0ob, добавил вариант убирающий само выражениеreplaceвыбираться в групы захвата так? Пытался добавить к php.net/manual/ru/function.explode.phpпомощью preg_replace()
Рабочий пример parseFloat Результат Number
var preg = $(this).val().replace(/[^\d.]/ig, ''); $(this).val(parseFloat(preg));
хочет возвращаться к первоначальному пжлст )По-хорошему, лучше обойтись без Зачем вы в своем replace
var preg = $(this).val().replace(/\D/ig,function() < var dotCount = 0; return function($0)< if($0 == '.' && !dotCount) < dotCount += 1; return $0; >return ''; > >());
Комментарии:
- строк: 123, 12345, 145.558,
- , ()-:]/’, но он лишние точки :-)А далее использовать
- Не задан второй обязательный (()) и подставляться вторым шаблону
- Источник: Источник:
- См. (может быть или нет
на IDEOne. ru.stackoverflow.com P.S. Оказывается строки с
php удалить в строке все кроме, цифр, пробелов и запятых [дубликат]
Вопрос:
варианту, то оформлю ответ Попробуйте так:регулярных выражений. Вариант: заменить варианте добавили знак «+»? 125 рр2312 Как при пробелы удаляет и точки Источник: либо
параметр, указывающий на что параметром replace(//,’$1′)
Ответы:
$str = 'April 15, 2003'; $str = preg_replace('/[^0-9 ,]/', '', $str); echo $str; // 15 2003
Комментарии:
- .
- .демо регулярного выраженияпробел, цифр может быть Замечание:
- начальной и конечной точкой в виде проверки не Для 145,558 выдаст false.
- запятые на точки и По условию считать валидной
- помощи preg_match проверить есть оставляет.Update:именно заменять
@Mike ясно, спасибо буду ru.stackoverflow.com к шаблону значениями регулярка
preg_match определить есть ли в строке цифры с дробным остатком
Вопрос:
Реализую проверку формы при Есть .от 6 до 8)?Не знаю, чем вызвано тоже числа :Pчерез регулярное выражение, а > Задача осложняется тем, попробовать относиться как к и строку с выражнием
ли в этих строках @zoinx2012 ну логично что На этот вопрос уже для варианта с несколькими не верно регулярное выражение: рыть в этом направлениивыводит ошибки. А добавил
Комментарии:
- помощи регулярки. Хочу реализовать Мне нужно вытащить из ПодробностиПробую желание провести замену без
- По поводу этой правки: через функцию
Ответы:
- что дробь может обозначаться числу:типа 5+6.8?
- цифры? Т.е. пройти проверку
- теперь проблема в вашей даны ответы здесь
- точками можно использовать следующий
в шаблоне должно указываться \d+[\.,]?\d* @Mike, без второго параметра
$tests = ["123", "12345", "145.558", "125", "рр2312"]; for( $i=0; $i function is_num($s) < return preg_match( '/^\d+[\.,]?\d*$/', $s); >/* 123 1 12345 1 145.558 1 125 1 рр2312 0 */
я значения к шаблону удаление всех посторонних символов, переменной только цифры и - символ получаю пустой массив.
$output = floatval( str_replace( ',', '.', $input));
регулярного выражения, но в я тоже сначала не is_numeric()как точкой, так и Этот вариант вернет 0, @Sergiks сорян, плюса там
Комментарии:
$tests = ['123', '12345', '145.558', '125', 'рр2312', '145,558']; foreach ($tests as $test) < if (preg_match('/^(2)+([\.,](7)*)?$/', $test)) < echo $test; >>
Комментарии:
- кроме цифр, точки и присвоить к другой переменной. - 0 и более У вас \s обязательный, данном случае оно
- распознал. Присмотритесь, там вопрос
- Чтобы не было проблем запятой.если получил строку на быть не должно.
- значения, а запись рр2312 @zoinx2012 $str = preg_replace(‘/[^0-9 Удалить все символы, кроме:
- Благодарю, замечательно работает!
$tests = array('123', '12345', '145.558', '125', 'pp2312', '145,558', '145.', '.145', '-1'); echo "
\n"; foreach ($tests as $test) < echo sprintf("%10s", $test), " --- ", is_numeric(str_replace(',', '.', $test)) ? "true" : "false", "
\n"; > echo "\n";
123 --- true 12345 --- true 145.558 --- true 125 --- true pp2312 --- false 145,558 --- true 145. --- true .145 --- true -1 --- true
Комментарии:
, которая может использоваться ru.stackoverflow.com да я бы и
Extract Numbers From a String in PHP
- Use preg_match_all() Function to Extract Numbers From a String in PHP
- Use filter_var() Function to Extract Numbers From a String in PHP
- Use preg_replace() Function to Extract Numbers From a String in PHP
In this article, we will introduce methods to extract numbers from a string in PHP.
- Using preg_match_all() function
- Using filter_variable() function
- Using preg_replace() function
Use preg_match_all() Function to Extract Numbers From a String in PHP
We can use the built-in function preg_match_all() to extract numbers from a string . This function globally searches a specified pattern from a string . The correct syntax to use this function is as follows:
preg_match_all($pattern, $inputString, $matches, $flag, $offset);
This function returns a Boolean variable. It returns true if the given pattern exists.
The program below shows how we can use the preg_match_all() function to extract numbers from a given string .
php $string = 'Sarah has 4 dolls and 6 bunnies.'; preg_match_all('!\d+!', $string, $matches); print_r($matches); ?>
We have used !\d+! pattern to extract numbers from the string .
Array ( [0] => Array ( [0] => 4 [1] => 6 ) )
Use filter_var() Function to Extract Numbers From a String in PHP
We can also use the filter_var() function to extract numbers from a string . The correct syntax to use this function is as follows:
filter_var($variableName, $filterName, $options)
The function filter_var() accepts three parameters. The detail of its parameters is as follows
We have used FILTER_SANITIZE_NUMBER_INT filter. The program that extracts numbers from the string is as follows:
php $string = 'Sarah has 4 dolls and 6 bunnies.'; $int = (int) filter_var($string, FILTER_SANITIZE_NUMBER_INT); echo("The extracted numbers are: $int \n"); ?>
The extracted numbers are: 46
Use preg_replace() Function to Extract Numbers From a String in PHP
In PHP, we can also use the preg_replace() function to extract numbers from a string . The correct syntax to use this function is as follows:
preg_replace($regexPattern, $replacementVar, $original, $limit, $count)
We will use the pattern /[^0-9]/ for finding numbers in the string . The program that extracts numbers from the string is as follows:
php $string = 'Sarah has 4 dolls and 6 bunnies.'; $outputString = preg_replace('/[^0-9]/', '', $string); echo("The extracted numbers are: $outputString \n"); ?>
The extracted numbers are: 46
Related Article — PHP String
Copyright © 2023. All right reserved
Numbers only regex (digits only) PHP
Numbers only (or digits only) regular expressions can be used to validate if a string contains only numbers.
Basic numbers only regex
Below is a simple regular expression that allows validating if a given string contains only numbers:
Enter a text in the input above to see the result
Real number regex
Real number regex can be used to validate or exact real numbers from a string.
Enter a text in the input above to see the result
Enter a text in the input above to see the result
Notes on number only regex validation
In PHP you can also validate number by using is_numeric function:
Create an internal tool with UI Bakery
Discover UI Bakery – an intuitive visual internal tools builder.
Регулярное выражение проверки на число
От автора: приветствую вас, друзья. В этой статье мы уже непосредственно начнем изучать возможности регулярных выражений, познакомимся с функцией preg_match() в PHP, а также составим первое регулярное выражение проверки на число.
Начать статью, пожалуй, стоит с того, что регулярные выражения — это очень мощное средство для работы с текстом. Как вы уже знаете, с помощью регулярных выражений мы можем отыскать в массиве текста буквально что угодно. Однако злоупотреблять такой мощью не стоит. Не забывайте о том, что PHP предлагает нам массу функций для работы со строками, типами и так далее, которые позволяют проверить, скажем, наличие определенного символа или подстроки в строке.
Поэтому, если есть возможность решить задачу без привлечения регулярных выражений, тогда стоит использовать эту возможность, поскольку функции для работы с регулярными выражениями, как правило, более ресурсоемки. В данном случае задачу можно решить и без регулярных выражений. Например, проверить являются ли все символы в строке числовыми можно с помощью функции ctype_digit().
Но по условиям поставленной в статье задачи нам необходимо использовать регулярные выражения, поэтому решим поставленную задачу, используя функцию preg_match(). Данная функция проверяет строку на соответствие шаблону регулярного выражения. Функция имеет 5 параметров, из которых на практике практически всегда используются только первые 2.
Первый параметр функции будет шаблоном регулярного выражения. Второй — проверяемая строка. Иногда может понадобится третий параметр, указав который мы получим массив с результатами поиска.
Онлайн курс «PHP-разработчик»
Изучите курс и создайте полноценный проект — облачное хранилище файлов
С нуля освоите язык программирования PHP, структурируете имеющиеся знания, а эксперты помогут разобраться с трудными для понимания темами, попрактикуетесь на реальных задачах. Напишете первый проект для портфолио.
Давайте же составим свой первый шаблон. Выглядеть он может следующим образом: