Как удалить все буквы, цифры и спецсимволы в строке на PHP/JavaScript?
Этот своего рода вариант обрезки строки будет полезен, когда вы хотите получить информацию в определенном виде. Например, ник пользователя может быть только из букв, когда как его возраст – указывается числом.
Тому, как можно решить поставленные задачи, и посвящена эта статья.
Как удалить все буквы, цифры и спецсимволы в строке на 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>
Если вдруг при использовании какого-либо способа у вас возникают трудности – пишите об этом в комментариях.