Geralmente temos aplicativos na qual não queremos aceitar alguns tipos de entrada nos campos dos formulários. para resolver esse problema podemos usar regularexpressionvalidator e simplesmente não permitir entradas não autorizadas.
Mas há casos em que não queromos limitar a digitação do usuário no campo, mas queremos fazer alguns filtros antes de salvar na base de dados. é o caso de um título de um informativo por exemplo:
Se não formatarmos e o usuário digitar:
retirando TAGs html dos campos de entrada do web form
será exibido assim:
retirando TAGs html dos campos de entrada do web form
Mesmo que tenha um css por trás e uma formatação padrão, a formatação in-line irá sobrepor a formatação atual, ai surge a necessidade de aplicar esse tipo de filtro na entrada dos dados do usuário.
Para isso use a linha abaixo:
string strsemhtml = system.text.regularexpressions.regex.replace(this.seutextbox1.text,"<[^>]*>", " ");
entendendo a expressão regular em questão
Perceba que usamos um er (expressão regular) para fazer o replace. ela simplesmente elimina os caracteres
< e
> e tudo que está contido entre eles.
<[^>]*>
O "robô" que fará a consulta e substituição fará a comparação das strings caractere por caractere e como isso ele começará procurando por:
<, achando, ele ir buscar por qualquer outro caractere após este, que está representado por
*, até achar o último caractere
>
Se deixarmos assim:
<.*>. ele pegará tudo entre o primeiro
< e o último
>. exemplo:
eu sou
brasileiro e não desisto nunca.
Resultará em:
eu sou e não desisto nunca.
assim acrescentamos um caractere de negação
[^>] para que ao encontrar
> ele finalize a procura do
* e passe pro próximo caractere pedido
>. Dessa forma funcionará como esperado:
eu sou
brasileiro e não desisto nunca.
resultará em:
eu sou brasileiro e não desisto nunca.
conclusão
Espero que tenham gostado da dica. O livro informado na referência é excelente e eu considero leitura obrigatória, quem tiver oportunidade compre-o e leia.
Qualquer dúvida que tiverem sobre ER (Expressões Regulares), pode me mandar um e-mail que se tiver ao meu alcance, tentarei ajudar com o maior prazer. Se a procura for muito grande, escreverei alguns artigos ensinando ER e usando com .net. Até o próximo artigo.
Referências
expressões regulares: guia de consulta rápida on-line:
http://guia-er.sourceforge.net/
how to: use regular expressions to constrain input in asp.net
http://msdn2.microsoft.com/en-us/library/ms998267.aspx
Por Fabiano Vitucci Santiago
Analista de sistemas web das faculdades santo agostinho e i4 design soluções em montes claros - mg, trabalha com desenvolvimento de aplicativos web, windows e mobile a 7 anos e a 5 se dedica ao estudo e desenvolvimento com a plataforma .net. [email protected]
Conheça nosso parceiro: