2010-05-20 2 views
24

Как удалить числа из строки с помощью Javascript?Удаление номеров из строки с использованием Javascript

Я не очень хорошо знаком с регулярным выражением, но я думаю, что я могу использовать его для замены, чтобы достичь вышеуказанного?

На самом деле было бы здорово, если бы что-то предлагало JQuery уже для этого?

//Something Like this?? 

var string = 'All23'; 
string.replace('REGEX', ''); 

Я ценю любую помощь по этому вопросу.

ответ

34

\d соответствует любому числу, так что вы хотите, чтобы заменить их с пустой строкой:

string.replace(/\d+/g, '') 

я использовал модификатор + здесь так, что он будет соответствовать все смежные номера на одном дыхании, и, следовательно, требуют меньше замены. g в конце - это флаг, который означает «глобальный», а это означает, что он заменит ВСЕ найденные совпадения, а не только первый.

+0

спасибо за объяснение, может быть, я помню этот для будущего, о, подождите, не нужно делать это, «favourited»! :) – Abs

+3

Будут ли в строке появляться номера с плавающей запятой? Если это так, вам нужно другое регулярное выражение. '" str 12.3 или 12,3 ".replace (/ \ d + ([,.] \ d +)?/g)' – BrunoLM

+0

Строка будет содержать только целые числа. Спасибо за это предложение. – Abs

1

Просто вставьте в адресную строку, чтобы попробовать его:

javascript:alert('abc123def456ghi'.replace(/\d+/g,'')) 

\d указывает символ в диапазоне 0-9, а + указывает один или более; поэтому \d+ соответствует одной или нескольким цифрам. g необходимо указать глобальный соответствие, в отличие от выхода после первого совпадения (поведение по умолчанию).

+0

Ему нужен флаг' g', иначе он терпит неудачу на "abc123def456" – nickf

Смежные вопросы