Ir para conteúdo

POWERED BY:

Arquivado

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

jean_c_g

Verificar parenteses em uma textarea

Recommended Posts

o rato roeu {(camisa) calça e tenis} O Navio é de {(aço) madeira }

 

 

Um usuário referencia uma frase o rato roeu. Dai nesta frase tem 3 opçoes.

camisa, calça e tenis.

 

A correta seria entre parenteses. Camisa!

 

Agora teria que verificar se o usuário nao colocou o parenteses em camisa.

Não tenho idéia como fazer isso

Compartilhar este post


Link para o post
Compartilhar em outros sites

Amigo, só de bater o olho nessa situação consegui visualizar uma dezena de algoritmos para solucionar o problema. Só que para eficientizarmos o processo, precisamos saber de algumas coisas:

 

1. De onde vem essas frases? É o usuário quem as insere em um campo texto?

2. As frases possuem tamanho fixo? o rato roeu..., O meu rato roeu..., Aquele rato roeu etc.

3. No exemplo: o rato roeu {(camisa) calça e tenis}, camisa é a primeira opção. Ela será sempre a primeira opção nessa frase? Ou poderia ser: o rato roeu {calça (camisa) e tenis}?

 

Pergunto isso pois é necessário saber a posição correta em que cada parênteses poderá ocupar nas frases. Com isso, ainda preciso saber:

4. Pode ocorrer alguma ocasião na qual exista outros parênteses na frase, além dos que delimitam o termo correto?

 

Podemos tentar utilizar apenas o método indexOf, ou então ER para deixar o código mais elegante.

 

5. O uso de radiobuttons não resolveria seu problema?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Amigo, só de bater o olho nessa situação consegui visualizar uma dezena de algoritmos para solucionar o problema. Só que para eficientizarmos o processo, precisamos saber de algumas coisas:

 

1. De onde vem essas frases? É o usuário quem as insere em um campo texto?

2. As frases possuem tamanho fixo? o rato roeu..., O meu rato roeu..., Aquele rato roeu etc.

3. No exemplo: o rato roeu {(camisa) calça e tenis}, camisa é a primeira opção. Ela será sempre a primeira opção nessa frase? Ou poderia ser: o rato roeu {calça (camisa) e tenis}?

 

Pergunto isso pois é necessário saber a posição correta em que cada parênteses poderá ocupar nas frases. Com isso, ainda preciso saber:

4. Pode ocorrer alguma ocasião na qual exista outros parênteses na frase, além dos que delimitam o termo correto?

 

Podemos tentar utilizar apenas o método indexOf, ou então ER para deixar o código mais elegante.

 

5. O uso de radiobuttons não resolveria seu problema?

Respondendo suas perguntas.

1) O usuário insere em um campo de texto

2)Não existe tamanho fixo.

3)Poderia sem em outra posição

4)Só pode ter um parenteses

5)Sempre cada frase eu tenho 3 opçoes. Posso fazer o rato roeu {(camisa) calça e tenis}. O navio bateu na {pedra(areia)outro}

e assim por diante.

No caso como poderia colocor um radio?

valeu pela ajuda

Compartilhar este post


Link para o post
Compartilhar em outros sites

Se for o usuário quem digita a frase, fica um pouco complicado utilizar radios ou checkboxes.

 

Com checkbox ficaria assim:

<html>
<head>
<title>Opções</title>

<script type="text/javascript">

function verificar() {
if (document.form1.opcao1.value != "camisa") {
	alert("Resposta errada!");
	document.form1.opcao1.focus();
	return false;
}

if (document.form1.opcao2.value != "pedra") {
	alert("Resposta errada!");
	document.form1.opcao2.focus();
	return false;
}

}
</script>

</head>
<body>
<form name="form1" action="pagina2.php" method="post" onSubmit="return verificar()">
Selecione as opções: 
<br>O rato roeu a <select name="opcao1">
<option value="camisa">*Camisa</option>
<option value="calca" selected>Calça</option>
<option value="tenis">Tênis</option>
</select>
<br>
O navio bateu na <select name="opcao2">
<option value="pedra">*Pedra</option>
<option value="areia">Areia</option>
<option value="encosta" selected>Encosta</option>
</select>
<br><br>
<input type="submit" value=" Conferir ">
</form>
</body>
</html>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Pior que assim não iria rolar porque é necessario escrever a frase e colocar as 3 opçoes para montar. Depois no caso faço mais uma frase e coloco mais 3 opcóes. Uma sempre será certa. Sacou?

No final eu fecho,. Porque está tudo em uma tabela só.

Se for o usuário quem digita a frase, fica um pouco complicado utilizar radios ou checkboxes.

 

Com checkbox ficaria assim:

<html>
<head>
<title>Opções</title>

<script type="text/javascript">

function verificar() {
if (document.form1.opcao1.value != "camisa") {
	alert("Resposta errada!");
	document.form1.opcao1.focus();
	return false;
}

if (document.form1.opcao2.value != "pedra") {
	alert("Resposta errada!");
	document.form1.opcao2.focus();
	return false;
}

}
</script>

</head>
<body>
<form name="form1" action="pagina2.php" method="post" onSubmit="return verificar()">
Selecione as opções: 
<br>O rato roeu a <select name="opcao1">
<option value="camisa">*Camisa</option>
<option value="calca" selected>Calça</option>
<option value="tenis">Tênis</option>
</select>
<br>
O navio bateu na <select name="opcao2">
<option value="pedra">*Pedra</option>
<option value="areia">Areia</option>
<option value="encosta" selected>Encosta</option>
</select>
<br><br>
<input type="submit" value=" Conferir ">
</form>
</body>
</html>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Tentei fazer assim.

<html>
<head>
<title>Opções</title>

<script type="text/javascript">

function verificar() {
if (document.form1.text.value == "{") {
	alert("Resposta errada!");
	document.form1.text.focus();
	return false;
}



}
</script>

</head>
<body>
<form name="form1" action="form2.html" method="post" onSubmit="return verificar()">

<textarea id="text" cols="35" rows="12"></textarea>
<input type="submit" value=" Conferir ">
</form>
</body>
</html>
Se colocar só o colchetes ele não passa.

Agora se digitar alguma frase e um colchetes não me da erro.

Teria que sempre identificar quando tem 1 colchetes

Compartilhar este post


Link para o post
Compartilhar em outros sites

Tente o código seguinte:

<html>
<head>
<title>Filtrando dados</title>
<script type="text/javascript">
function verificar(){
var objText1 = document.getElementById("texto1").value;
var RegExp = /\([\w]+\)/;	
var expressao = objText1.match(RegExp);
	if (expressao != null) {
		alert("A expressão selecionada é:\n"+expressao);
		expressao = expressao[0].replace(/(\()([\w]+)(\))/,"$2");
		alert("Retirando os parênteses fica:\n"+expressao);
	}
}
</script>

</head>
<body>
<form name="form1" action="" method="post">
Digite o texto: <input type="text" name="texto1" size="50" value="O rato roeu a {(camisa) calça meia gravata}">
<br>Altere o local do parênteses para testar
<br><br>
<input type="button" value="Verificar" onClick="verificar()">
</form>

</body>
</html>

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.