Regex to remove letters, symbols except numbers
JavascriptRegexSymbolsJavascript Problem Overview
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.
Javascript Solutions
Solution 1 - Javascript
You can use \D
which means non digits.
var removedText = self.val().replace(/\D+/g, '');
You could also use the HTML5 number input.
<input type="number" name="digit" />
Solution 2 - Javascript
Use /[^0-9.,]+/
if you want floats.
Solution 3 - Javascript
Simple:
var removedText = self.val().replace(/[^0-9]+/, '');
^ - means NOT
Solution 4 - Javascript
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.
Solution 5 - Javascript
If you want to keep only numbers then use /[^0-9]+/
instead of /[^a-zA-Z]+/