Ir para conteúdo
Fórum Script Brasil
  • 0

Digitação sequenciada


Carlos Rocha

Pergunta

Ola pessoal.

existe algum jeito de bloquear a Digitação sequenciada?

vou explicar:

Excou digitando em um campo de texto.

De repente vou digitar um email e coloco la email@@@@@@@@site.com.br.

Quero arranjar um forma de não permitir que o usuario digite o @ mais de uma vez.

Porem nessa mesma string, pode ser necessraria a digitação de um novo @ como o caso de um novo email.

Então preciso fazer o seguinte:

Digitou @. Dai, para que possa digitar o @ de novo terá que no minimo, digitar um espaço, ou seja. dois arrobas um do lado do ouitro @@ ou 3 não poderá.

tem, como isso em javaScript?

Link para o comentário
Compartilhar em outros sites

7 respostass a esta questão

Posts Recomendados

  • 0

Não posso pois dei o exemplo de email para ilustrar.

O problema é que nbo meu form, teu um campo onde o administrador tem que adicionar valores separados por @ tipo;

é uma enquete e para cada pegunta tem n respostas.

Voce gosta de maça?

Resp SIM@NÃO@TALVES.

quero evitar de o admin digitar por erro ou por orelhada

Resp SIM@@@@@@@@NÃO@@TALVES.

Entendeu?

Link para o comentário
Compartilhar em outros sites

  • 0

O que estou querendo é bloquear(mão permitir) a digitação do caracter @ repetidamente ao menos que tenha pelo menos um espaço entre eles tipo:

Não pode passar

SIM@@NÃO@@@TALVEZ
Pode passar
SIM@NÃO@ @TALVEZ  --> NOTE QUE ENTRE O NÃO E O TALVEZ há DOIS @ POREM, PARA QUE ISSO FOSSE POSSIVEL, FOI NECESSARIO DAR UM ESPAÇO EM BRANCO ENTRE OS @'S

COMO FAZER ISSO?

Link para o comentário
Compartilhar em outros sites

  • 0

i aew Carlos Rocha, tenta algo mais ou menos assim:

function arroba( obj ){
var valor = obj.value;
var er = /@{2,}/g;
var result = valor.replace( er , '@' );
obj.value = result;
}
ou se preferir em uma linha fica assim:
function arroba( obj ){
obj.value = obj.value.replace( /@{2,}/g , '@' );
}
e no input você chama assim:
<input type="text" onkeyup="arroba( this );" />

espero que ajude abraço!

Editado por Romerito
Link para o comentário
Compartilhar em outros sites

  • 0

Mas hein romerito.

Resolveu o pro mas esta com, um compórtamento estanho(m,as funcionma)

ela esta permitindo a digitação de até 2 @ dai ele trava.

mas, depois que você digita o primeiro caracter ele sobrepoe ao 2ºarroba.

Aqui.

Não querendo incomodar mas incomodando.

Me ajuda em mais uma:

veja.

é um problema com enquete e jquery

http://scriptbrasil.com.br/forum/index.php?showtopic=133945

se puder judaa.

Grato

Link para o comentário
Compartilhar em outros sites

  • 0

tenta esse assim:

function arroba( e , obj ){
var tecla = ( window.event ) ? e.keyCode : e.which;
if ( tecla == 64 && obj.value.charAt( obj.value.length - 1 ) == "@" )
return false;
e chama assim:
<input type="text" onkeypress="return arroba( event , this );" />

Link para o comentário
Compartilhar em outros sites

  • 0

beleza.

Agora como poderia bloquear tambem para que nem o primeiro nem o ultimo caracter poder se @?

Tipo assim, as resposta da enquete eu estou guardando em uma variavel em que as repostas(opções) estão separadas por @,e, se o cara colocar @ no incio da frase ou no fim, terei duas opções na enquete com valor vazio. Ou seja, o radiobuton vai estar la mas não vai haver nada escrito. Entendeu

E, sobre a minha duvbida do post http://scriptbrasil.com.br/forum/index.php?showtopic=133945

tem, como dar uma palhinha?

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,1k
    • Posts
      651,8k
×
×
  • Criar Novo...