Ir para conteúdo

POWERED BY:

Arquivado

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

Kleber Fernandes

[Resolvido] Restringir ou permitir caracteres

Recommended Posts

Olá pessoal, estou com uma dúvida, estou desenvolvendo um código para um curso e nele é preciso que deixe o usuário escrever os seguintes caracters:

 

 

Com espaços em branco antes, depois ou mais de um espaço entre as palavras

ex: “{espaco}{espaco}let’s get started” -> correta

“let´s get{espaco} {espaco}starded” ->correta

 

Respostas escritas com acento agudo, crase ou apóstrofo

Ex: “LET’S”, “LET´S” ou “LET`S” -> todas corretas

 

-Respostas em maiúsculas ou minúsculas:

Ex: LET’S GET STARTED –> correta

Let’s get starded –> correta

Let´s GET starded –> correta

let’s get starded –> correta

 

Resumindo, é preciso permitir que o usuário utilize dois ou mais espaços, agudo, apostrofo ou crase e maiúsculas e minúsculas... a parte de acentos e maiúsculas e minúsculas, eu já consegui fazer usando o restrict, mas os espaços eu não consigo restringir, alguém pode ajudar?

 

 

Obrigado,

Kleber

Compartilhar este post


Link para o post
Compartilhar em outros sites

Utilize "expressão regular" (a mesma que valida emails, urls, cnpj, cpf, etc...)

;)

 

 

Ah obrigado pela ajudar, dei uma pesquisada, mas ainda não achei a expressão específica para isso que preciso... vou ver se consigo fazer com o que achei... o difícil está sendo restringir o duplo espaço, mas ao mesmo tempo deixar o usuário digitar um espaço entre as palavras.

Compartilhar este post


Link para o post
Compartilhar em outros sites

recomendaria

criar um classe que removeria todos os caracteres especiais incluindo os espaços

 

deixando a a palavra em caixa alta

 

ex:

 

lét s get StaRtED

 

iria virar

 

LETSGETSTARTED

 

...

Existem varias formas de utilizar regexp mas vou usar este exemplo para te ajudar:

 

private function iniciar():void
{
var str:String = "  lÉt's GeT    Star-teD";
str = removerAcentuacao(str);
trace(str);
}

public function removerAcentuacao(texto:String):String{

var letrasAcentuadas:String =   "ãáàâäÁÀÂÃÄéèêëÈÉÊËíìïîÌÍÎÏóòôöõÒÓÔÕÖúùüûÙÚÛÜñÑçÇ-'^~´`"
var letrasSubstitutas:String =  "aaaaaAAAAAeeeeEEEEiiiiIIIIoooooOOOOOuuuuUUUUnNcC      "
var r:RegExp 

for( var x:int=0; x< letrasAcentuadas.length;x++){
	r = new RegExp(letrasAcentuadas.charAt(x),"g")
	texto = texto.replace(r,letrasSubstitutas.charAt(x));
}

var txtRetorno:String="";
for(var i:int = 0; i<texto.length;i++){
	if(texto.charAt(i) != " "){
		txtRetorno+=texto.charAt(i)
	}
}

texto= txtRetorno;
texto.toUpperCase();

return texto;
}

 

com isso qualquer texto que digitarem vai vir igual pra voce validar

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.