Артём Мáлков

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

22 окт2 комм

Этот своего рода вариант обрезки строки будет полезен, когда вы хотите получить информацию в определенном виде. Например, ник пользователя может быть только из букв, когда как его возраст – указывается числом.

Тому, как можно решить поставленные задачи, и посвящена эта статья.

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

В PHP для удаления нужных символов мы воспользуемся функцией «preg_replace», с помощью которой по регулярному выражению найдем и удалим нужные нам символы.

Реализация для удаления всех букв:

<?php

	$content = "12 Hello, 3 world! 45";
	$new_content = preg_replace("/[a-zA-Zа-яА-Я]/", "", $content);

	echo $new_content; // Выведет "12 , 3 ! 45"

?>

Реализация для удаления всех цифр:

<?php

	$content = "12 Hello, 3 world! 45";
	$new_content = preg_replace("/[0-9]/", "", $content);

	echo $new_content; // Выведет "Hello, world!"

?> 

Реализация для удаления спецсимволов:

<?php

	$content = "12 Hello, 3 world! 45";
	$code_match = array('-', '"', '!', '@', '#', '$', '%', '^', '&', '*', '(', ')', '_', '+', '{', '}', '|', ':', '"', '<', '>', '?', '[', ']', ';', "'", ',', '.', '/', '', '~', '`', '=');
	$new_content = str_replace($code_match, '', $content);

	echo $new_content; // Выведет "12 Hello 3 world 45"

?>

В таком случае удаляются символы «! @ # $ % ^ & * ( ) _ + { } | : " ? [ ] ; ' , . / - ~ ` =».

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

В JavaScript мы воспользуемся аналогичной функцией «replace», с помощью которой также по регулярному выражению удалим нужные нам символы.

Реализация для удаления всех букв:

<script>

	var content = "12 Hello, 3 world! 45";
	var new_content = content.replace(/[a-zA-Zа-яА-Я]/g, ''); // Содержит в себе "12 , 3 ! 45"

</script>

Реализация для удаления всех цифр:

<script>	

	var content = "12 Hello, 3 world! 45";
	var new_content = content.replace(/[0-9]/g, ''); // Содержит в себе "Hello,  world!"

</script>

Реализация для удаления спецсимволов:

<script>

	var content = "12 Hello, 3 world! 45";
	var new_content = content.replace(/[`~!@#$%^&*()_|+-=?;:'",.<>{}[]\/]/gi, ''); // Содержит в себе "12 Hello 3 world 45"

</script>

Если вдруг при использовании какого-либо способа у вас возникают трудности – пишите об этом в комментариях.

Рекомендуем к просмотру
Как удалить все HTML-теги из строки на PHP/JavaScript?
Статьи и советы
Как удалить все символы, кроме цифр, из строки на PHP/JavaScript?
Статьи и советы
12 вариантов обрезки строки на PHP
Модули и скрипты
2
комментария
Форма комментирования этого поста скрыта. Авторизуйтесь, чтобы расширить привилегии гостевого посещения и получить необходимую помощь от сообщества Pandoge.
    • 0
    16
      •  Проверенный
    29 окт в 16:42

    Помогите пожалуйста составить выражения для preg_replace, необходимо что бы фильтровал абсолютно все символы, кроме букв кириллицы, латиницы и цифр.

      • 0
      1066
        •  Команда Pandoge
      30 окт в 01:06

      Серго, выражение:

      "/[^a-zA-Zа-яА-Я0-9]/"
Подняться наверх
«Pandoge» - помощник вебмастера