Regex to remove letters, symbols except numbers

2019-01-09 07:59发布

问题:

How can you remove letters, symbols such as ∞§¶•ªºº«≥≤÷ but leaving plain numbers 0-9, I want to be able to not allow letters or certain symbols in an input field but to leave numbers only.

Demo.

If you put any symbols like ¡ € # ¢ ∞ § ¶ • ª or else, it still does not remove it from the input field. How do you remove symbols too? The \w modifier does not work either.

回答1:

You can use \D which means non digits.

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

jsFiddle.

You could also use the HTML5 number input.

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

jsFiddle.



回答2:

Use /[^0-9.,]+/ if you want floats.



回答3:

Simple:

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

^ - means NOT



回答4:

Try the following regex:

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

This will match every character that is not (^) in the interval 0-9.

Demo.



回答5:

If you want to keep only numbers then use /[^0-9]+/ instead of /[^a-zA-Z]+/