Question:
My character lock code looks like this:
$('#rg').on('keypress', function() {
var regex = new RegExp("^[ 0-9]+$");
var _this = this;
// Curta pausa para esperar colar para completar
setTimeout( function(){
var texto = $(_this).val();
if(!regex.test(texto))
{
$(_this).val(texto.substring(0, (texto.length-1)))
}
}, 100);
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input type='text' id='rg'/>
How do I block SPACE.
Incorrect example
116 416
should stay
116416
Answer:
Your REGEX is almost right, as you only want digits, just remove the REGEX space and it will work.
new RegExp("^[0-9]*$")
See the working example:
$('#rg').on('keypress', function() {
var regex = new RegExp("^[0-9]*$");
var _this = this;
setTimeout(function() {
var texto = $(_this).val();
if (!regex.test(texto)) {
$(_this).val(texto.substring(0, (texto.length - 1)))
}
}, 100);
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input type='text' id='rg' />