Regex для удаления букв, символов кроме цифр - PullRequest
51 голосов
/ 11 июля 2011

Как вы можете удалить буквы, символы, такие как ∞§¶•ªºº«≥≤÷, но оставляя простые цифры 0-9, я хочу иметь возможность не разрешать ввод букв или определенных символов в поле ввода, а оставлять только цифры.* Демо .

Если вы поместите какие-либо символы, такие как ¡ € # ¢ ∞ § ¶ • ª или еще, он все равно не удалит их из поля ввода.Как вы удаляете символы тоже?Модификатор \w также не работает.

Ответы [ 5 ]

83 голосов
/ 11 июля 2011

Вы можете использовать \D, что означает без цифр .

var removedText = self.val().replace(/\D+/g, '');

jsFiddle .

Вы также можете использовать HTML5 число вход .

<input type="number" name="digit" />

jsFiddle .

22 голосов
/ 11 апреля 2012

Используйте /[^0-9.,]+/, если хотите плавать.

17 голосов
/ 11 июля 2011

Простой:

var removedText = self.val().replace(/[^0-9]+/, '');

^ - означает НЕ

5 голосов
/ 11 июля 2011

Попробуйте следующее регулярное выражение:

var removedText = self.val().replace(/[^0-9]/, '');

Это будет соответствовать каждому символу, не (^) в интервале 0-9.

Демо .

3 голосов
/ 11 июля 2011

Если вы хотите сохранить только цифры, используйте /[^0-9]+/ вместо /[^a-zA-Z]+/

...