$data =~ tr/0-9//cd
Диапазон чисел
$data =~ s/[^0-9]//g
Ключ
$clean = $db->quote($data)
Следует подчеркнуть, что функция обрамляет строку одинарными кавычками, так что правильный запрос SQL выглядит таким образом:
SELECT * FROM table WHERE x=$data,
а не так:
SELECT * FROM table WHERE x=’$data’
Язык разметки COLD Fusion
Для удаления нежелательных символов из строки данных можно использовать функции языка разметки COLD Fusion (CFML–COLD Fusion Markup Language), поддерживающие регулярные выраженияREReplace(data, “regex pattern”, “replace with”, “ALL”)
Параметр «ALL» указывает функции на необходимость выполнить замену символов во всей строке в соответствии с шаблоном. Например, чтобы оставить в строке
REReplace(data, “[^0-9]”, “”, “ALL”)
В языке разметки CFML предусмотрена функция, которая, в отличие от функции REReplace, заменяет только один символ на другой или одну строку на другую (но не группу символов). Реже используется функция
ReplaceList(data, “|,!,$”, “X,Y,Z”)
В этом примере символы «1!$» заменяются символами «XYZ».
Технология ASP
В новейшей технологии ASP (Active Server Pages), разработанной корпорацией Microsoft, представлен новый regex-объект регулярных выражений. Его используют для замены данных по шаблону, например:set reg = new RegExp
reg.pattern = “[^a-zA-Z0-9]”
data = reg.replace(data, “”)Для замены символов можно использовать системную настраиваемую функцию
function ReplaceFunc(MatchedString) {
return “”;}
var regex = /[^0-9]/g;
data = data.replace(regex, ReplaceFunc);В фрагменте кода задана функция
Язык PHP
В языке программирования PHP предусмотрен ряд функций, полезных для обработки непредвиденных данных и данных неверного формата. Для фильтрации данных в соответствии с заданным набором символов можно использовать функцию замены
ereg_replace(“regex string”, “replace with”, $data)
Ниже приведен вариант вызова функции для удаления из строки всех нечисловых символов:
ereg_replace(“[^0-9]”, “”, $data)
Вспомните, что шаблон «[^0–9]» означает, что надо заменить все, что не является числом на строку «», которая является пустой строкой, а значит, нечисловой символ удаляется. Для пропуска символов из небольшого набора метасимволов (символов специального назначения) в PHP включена функция
$clean = quotemeta($data)
При использовании функции нужно быть внимательным, потому что число обрабатываемых функцией символов невелико, не больше следующего списка символов
$clean = addslashes($data)