Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Imshy

em Máscara

Recommended Posts

Seguinte pessoal, to tentando fazer uma funnção, onde:-Quando eu apertar ctrl + v, ele verifica se é número ou se é letra, e se for letra ele não deixe passar, e se for número ele deixe.Primeiro eu queria saber se é possivel hehe ^^Vlw pessoal o/

Compartilhar este post


Link para o post
Compartilhar em outros sites

Primeiramente tudo o que você tem dúvida deve ser esclarecido aqui no fórum mesmo e não por MP, sei que há vezes que você precisa muito do que está fazendo, mas eu como você TRABALHO e não tenho 100% de disponibilidade, então perguntas por MP só para reclamações, dúvidas gerais...Agora respondendo a pergunta...Sim é possível, você precisará de uma função que "desmonte" a string do ctrl+v, ou seja, no onChange do campo alterado você chama esta função e ele vai verificando se é número ou letra...Qualquer dúvida sobre como começar a função, poste ok?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bem, desculpa pela PM então... não foi minha intenção..Mas então.. continuando...Eu fiz isso: function verifica(){ if (isNaN(document.getElementById('nascimento').value) == true){ document.getElementById('nascimento').focus(); return false }}E coloquei um onchange no campo: onchange="verifica()".É algo do tipo?No que estou errando?

Compartilhar este post


Link para o post
Compartilhar em outros sites

veja bem:

 

Você quer SOMENTE números certo, isNan é not a number(não número), então seria algo assim;

 

function verifica(){if (isNaN(document.getElementById('nascimento').value) == true){document.getElementById('nascimento').value = "";alert("Não é um número");return false;}}

só que tem um porém se tiver números e letras?

Acho que ele vai entender tudo como letra, entende...

 

a12132343, acho que vai considerar letra, mas se esse é seu caso se não não vai ter problema...

Compartilhar este post


Link para o post
Compartilhar em outros sites

auhhauhuauha funcionou aqui sim cara =PPreciso te pedir uma útima coisa:-Como seria se eu quizesse que quando a pessoa apertasse ctrl + v(colasse o conteúdo), já aplicasse a máscara?PS: Naum funcionou no FF =~~EDIT: Cara, acontece uma coisa interessante, quando você copia alguma coisa, tipo "sdds", e coloca lá, na primeira vez funciona, mas se você for tentar denovo com a msm coisa, ele simplesmente naum funciona, só se você colocar alguma coisa diferente O.o

Compartilhar este post


Link para o post
Compartilhar em outros sites

Agora vai... e funcionou no FF 2.0

 

function verifica(){	if(isNaN(document.getElementById('nascimento').value) == true)	{		document.getElementById('nascimento').value = "";		alert("Não é um número");		return false;	}}<input name="nascimento" id="nascimento" value="" onKeyUp="verifica();" onFocus="this.value = '';">teste

Compartilhar este post


Link para o post
Compartilhar em outros sites

Tiago.. A coisa tah preta.. ehheheCom esse seu novo código, realmente é eficaz pra desabilitar o ctrl + v com letras, mas tem um enorme porém:- No caso do CNPJ, a máscara já aplica os "." e os "/" necessários, e com isso, quando eu digito um número, a sua função bloqueia porquê diz que não é número =x- Ainda preciso que quando a pessoa cole o conteúdo, a máscara aplique sozinha.Cara.. sugiro que se um dia agente conseguir resolver isso, botar num canto fixo, pra ninguém nunca mais passar aparreio por causa disso!

Compartilhar este post


Link para o post
Compartilhar em outros sites

por isso que te falei isso:

só que tem um porém se tiver números e letras?Acho que ele vai entender tudo como letra, entende...a12132343, acho que vai considerar letra, mas se esse é seu caso se não não vai ter problema...

você vai ter que ficar desmontando a string, ou verificar quais caracteres ela pode possuir...E quanto a máscara de CNPJ e só encontrar uma e aplicá no onKeyUp...

Compartilhar este post


Link para o post
Compartilhar em outros sites

agora se alguem pudesse ajudar ensiando fazer esta mascara eu fikria muito grato, pois eu ja procurei isso pra kramba, o único q eu axei q funcionava, no ff num deixa digitar nada, só funfa no ie!

Compartilhar este post


Link para o post
Compartilhar em outros sites

ve essa aqui:

 

/*Descrição.: formata um campo do formulário deacordo com a máscara informada...Parâmetros: - objForm (o Objeto Form)- strField (string contendo o nome do textbox)* - sMask (mascara que define o* formato que o dado será apresentado,* usando o algarismo "9" para* definir números e o símbolo "!" para* qualquer caracter...* - evtKeyPress (evento)* Uso.......: <input type="textbox"* name="xxx".....* onkeypress="return txtBoxFormat(document.rcfDownload, 'str_cep', '99999-999', event);">* Observação: As máscaras podem ser representadas como os exemplos abaixo:* CEP -> 99.999-999* CPF -> 999.999.999-99* CNPJ -> 99.999.999/9999-99* Data -> 99/99/9999* Tel Resid -> (99) 999-9999* Tel Cel -> (99) 9999-9999* Processo -> 99.999999999/999-99* C/C -> 999999-!* E por aí vai...***/function txtBoxFormat(objForm, strField, sMask, evtKeyPress) {var i, nCount, sValue, fldLen, mskLen,bolMask, sCod, nTecla;if(document.all) { // Internet Explorer	nTecla = evtKeyPress.keyCode;} else if(document.layers) { // Nestcape	nTecla = evtKeyPress.which;} else {	nTecla = evtKeyPress.which;	if (nTecla == 8) {		return true;	}}sValue = objForm[strField].value;// Limpa todos os caracteres de formatação que// já estiverem no campo.// toString().replace [transforma em sring e troca elementos por ""]sValue = sValue.toString().replace( "-", "" );sValue = sValue.toString().replace( "-", "" );sValue = sValue.toString().replace( ".", "" );sValue = sValue.toString().replace( ".", "" );sValue = sValue.toString().replace( "/", "" );sValue = sValue.toString().replace( "/", "" );sValue = sValue.toString().replace( "/", "" );sValue = sValue.toString().replace( "(", "" );sValue = sValue.toString().replace( "(", "" );sValue = sValue.toString().replace( ")", "" );sValue = sValue.toString().replace( ")", "" );sValue = sValue.toString().replace( " ", "" );sValue = sValue.toString().replace( " ", "" );fldLen = sValue.length;mskLen = sMask.length;i = 0;nCount = 0;sCod = "";mskLen = fldLen;while (i <= mskLen) {bolMask = ((sMask.charAt(i) == "-") || (sMask.charAt(i) == ":") || (sMask.charAt(i) == ".") || (sMask.charAt(i) == "/"))bolMask = bolMask || ((sMask.charAt(i) == "(") || (sMask.charAt(i) == ")") || (sMask.charAt(i) == " ") || (sMask.charAt(i) == "."))//Se for true utiliza elementos especiais aumenta a máscaraif (bolMask) {	sCod += sMask.charAt(i);	mskLen++;//Caso false mostra o sValue(o q foi digitado)} else {	sCod += sValue.charAt(nCount);	nCount++;}i++;}objForm[strField].value = sCod;if (nTecla != 8) { // backspace	if (sMask.charAt(i-1) == "9") { // apenas números...	return ((nTecla > 47) && (nTecla < 58)); } // números de 0 a 9else { // qualquer caracter...	return true;}} else {	return true;}}//Fim da Função Máscaras Gerais

e uso:

 

CPF

 

onkeypress="return txtBoxFormat(this.form, this.name, '999.999.999-99', event);"

CNPJ

 

onkeypress="return txtBoxFormat(this.form, this.name, '99.999.999/9999-99', event);"

Compartilhar este post


Link para o post
Compartilhar em outros sites

Normal, acho que é um pouco mais do que isso, pois você pode trabalhar com todos esses elementos que ela funciona e fica fácil de adicionar outros se necessário...mas não fui eu que fiz foi um antigo Moderador...

 

sValue = sValue.toString().replace( "-", "" );sValue = sValue.toString().replace( "-", "" );sValue = sValue.toString().replace( ".", "" );sValue = sValue.toString().replace( ".", "" );sValue = sValue.toString().replace( "/", "" );sValue = sValue.toString().replace( "/", "" );sValue = sValue.toString().replace( "/", "" );sValue = sValue.toString().replace( "(", "" );sValue = sValue.toString().replace( "(", "" );sValue = sValue.toString().replace( ")", "" );sValue = sValue.toString().replace( ")", "" );sValue = sValue.toString().replace( " ", "" );sValue = sValue.toString().replace( " ", "" );

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.