A expressão regular restringe a caixa de texto apenas para inserir números
Autor:Eve Cole
Data da Última Atualização:2009-06-20 16:52:58
Muitas vezes precisamos limitar o tipo de conteúdo de entrada na caixa de texto ao criar formulários. Abaixo usamos expressões regulares para limitar a caixa de texto apenas para inserir números, pontos decimais, letras inglesas, caracteres chineses e outros códigos.
1. Apenas códigos numéricos podem ser inseridos na caixa de texto (pontos decimais também não podem ser inseridos)
<input onkeyup="this.value=this.value.replace(/D/g,'')" onafterpaste="this.value=this.value.replace(/D/g,'')">
2. Somente números podem ser inseridos, pontos decimais podem ser inseridos.
<input onkeyup="if(isNaN(valor))execCommand('undo')" onafterpaste="if(isNaN(valor))execCommand('undo')">
<input name=txt1 onchange="if(/D/.test(this.value)){alert('Apenas números podem ser inseridos');this.value='';}">
3. Números e método de ponto decimal 2
<input type=text t_value="" o_value="" onkeypress="if(!this.value.match(/^[+-]?d*?.?d*?$/))this .value=this.t_value;else this.t_value=this.value;if(this.value.match(/^(?:[+-]?d+(?:.d+)?)?$ /))this.o_value=this.value" onkeyup="if(!this.value.match(/^[+-]?d*?.?d*?$/))this.value =this.t_value;else this.t_value=this.value;if(this.value.match(/^(?:[+-]?d+(?:.d+)?)?$/) )this.o_value=this.value" onblur="if(!this.value.match(/^(?:[+-]?d+(?:.d+)?|.d* ?)?$/))este.valor=este.o_valor;else{if(este.valor.match(/^.d+$/))este.valor=0+este.valor;se(este.valor .match(/^.$/))this.value=0;this.o_value=this.value}">
4. Somente letras e caracteres chineses podem ser inseridos
<input onkeyup="value=value.replace(/[d]/g,'') "onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[d] /g,''))" maxlength=10 nome="Números">
5. Somente letras e números em inglês podem ser inseridos, mas caracteres chineses não podem ser inseridos.
<input onkeyup="value=value.replace(/[^w./]/ig,'')">
6. Somente números e inglês podem ser inseridos
<input onKeyUp="value=value.replace(/[^d|chun]/g,'')">
7. Só pode haver um máximo de dois dígitos após o ponto decimal (não podem ser inseridos números e caracteres chineses).
<input onKeyPress="if((event.keyCode<48 || event.keyCode>57) && event.keyCode!=46 || /.dd$/.test(value))event.returnValue=false ">
8. Só pode haver até dois dígitos após o ponto decimal (números, letras e caracteres chineses podem ser inseridos) e símbolos aritméticos podem ser inseridos:
<input onkeyup="this.value=this.value.replace(/^(-)*(d+).(dd).*$/,'$1$2.$3')">