pessoal qual a função que limpa caracters especiais de uma string
to validanndo um cnpj
pessoal qual a função que limpa caracters especiais de uma string
to validanndo um cnpj
String cnpj= JOptionPane.showInputDialog( ... ... );
//Remove tudo que não for letra a-zA-Z
cnpj = cnpj.replaceAll("\W", "");
//Remove tudo que não for digito 1-9
cnpj = cnpj.replaceAll("\D", "");
[edit, complementando]
De uma olhada em http://download.oracle.com/javase/tutorial/essential/regex/intro.html, sobre Regex, talvez possa te ajudar melhor
[/edit]
vc pode fazer
String s = ".,<>!@#$%*()";
s.replaceAll("[^QWERTYUIOPASDFGHJKLZXCVBNM1234567890]", "");
Nao sei se eh exatamente isso q vc queria.
pessoal estou jsp tem alguma diferença ?
não, pode usar tranquilo (apesar de ser desaconselhavel ficar escrevendo códigos java dentro da jsp…
mas porque voce quer manipular um campo na jsp??
se for pra ‘‘limpar’’ dinamicamente, a medida que o usuario for digitando, pesquise sobre mascaras em jquery, javascript
drigo.angelo
obrigador por responder
nao gosto de fazer validações no lado cliente prefiro no servidor
[quote]não, pode usar tranquilo (apesar de ser desaconselhavel ficar escrevendo códigos java dentro da jsp…
mas porque voce quer manipular um campo na jsp?? [/quote]
qual a forma mais aconselhavel de validar este campo por jsp
Concordo que a validação no lado do servidor é bem mais importante que a do lado do cliente =]
Manipular a String na jsp quebra um pouco a estrutura MVC em que as jsp’s ficam apenas para visualização, tipo assim:
Voce tem uma página jsp com um formulário de cadastro de um cliente, nela o usuario vai informar os dados (cnpj, nome, end, etc etc…)
A jsp vai enviar esses dados para um servlet que vai mandar para as classes de modelo, e nessa classe de modelo que você faz a validação
Acho que assim fica mais separado, mas também depende de como está o projeto, quais padrões, tecnologias são utilizadas, etc…
drigo.angelo
eu gostaria de esta fazendo desta forma a estrutura, so que nao tenho conhecimento para isto ainda, estou abituado com php ja li muito java estou colocando a mao na massa so estou meio perdido quando a forma de estruturar este projetinho para estudo pessoal
o que eu tenho e uma tabela em html e outra em jsp para validar os campos e cadastro no banco de dados
vo postar o codigo aqui por favor me oriente, nao mande eu ler aquela apostila da caelum (caelum-java-web-fj21) que deixa eu mas confuso ainda.
sei que o forum e para tirar duvidas :oops:
vamos la
vo colocar so um pedaço do html
<td width="55">CNPJ:</td>
<td colspan="5"><input type="text" name="cnpj" id="cnpj"/></td>
</tr>
<tr>
<td>Nome:</td>
<td colspan="5"><input name="nome" type="text" id="nome" size="92" /></td>
jsp que recebe do form
<%
//recebe o valor digitado no campo usuario
String cnpj = request.getParameter("cnpj");
String nome = request.getParameter("nome");
//validar cnpj
%>
Ahh muito mais simples
Como é só para estudo pessoal, não tem problema, nos seus próximos projetos tente fazer algo mais estruturado em camadas, que aí você vai acostumando e pegando o jeito :!:
Mas então, aquele código que eu coloquei é da classe String mesmo, o que significa que você pode colocar diretamente na sua jsp, dentro do scriptlet (o código java)…
Daí vai depender do que você quer tirar/validar da sua String, por exemplo, como é um cnpj, se sua aplicação for trabalhar com cnpj somente números, você pode facilmente remover tudo que não for número da String, ex:
[code]<%
//recebe o valor digitado no campo usuario
String cnpj = request.getParameter(“cnpj”);
String nome = request.getParameter(“nome”);
//validar cnpj
cnpj = cnpj.replaceAll("\D", “”); //Remove tudo que não for números
%>
nome = <%= nome %>
cnpj validado = <%= cnpj %>[/code]
Neste exemplo, se o usuário digitasse no nome ‘Rodrigo de Castro’ e no cnpj ‘123.456.asdfg.789’, a jsp iria mostrar:
nome = Rodrigo de Castro
cnpj validado = 123456789 <-- os pontos e as letras sumiram ^^
mas se você quiser exibir uma mensagem de erro, caso existam letras, por exemplo, você vai ter que estudar regex, é a maneira mais fácil de fazer isso, e tem no link que eu pus no primeiro post (tá em inglês, se você não souber inglês, coloca no google tradutor http://translate.google.com.br/ daí você clica no link que aparecer que ele traduz a página inteira ;D )