• Revista PROGRAMAR: Já está disponível a edição #53 da revista programar. Faz já o download aqui!

quetzyg

[Dúvida] RegEx - Inclusão de caracteres acentuados

4 mensagens neste tópico

Viva!

Como o título indica, estou com dúvidas em como incluir caracteres acentuados (ã, ç, é, á, ...) numa expressão regular.

Ou seja, se eu uso o típico [a-zA-Z], como por exemplo: ^([a-zA-Z]{1,})$' e procuro por joao, há uma ocorrência, mas se procuro por joão já não há.

Andei pelo fórum e pelo google a procurar problemas similares, mas não encontro nada que me ajude. :bored:

O objectivo, é validar um campo nome de um formulário, de forma a que os utilizadores não tenham de retirar acentos aos seus nomes  para se poderem registar.

Alguém com ideias?

Bem haja,

Quetzy Garcia

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

não te garanto que funcione.. mas experimenta da mesma forma que estás a pôr A-Z, pôr os caracteres acentuados também segundo a ordem da tabela ascii (http://www.asciitable.com/)

por exemplo de 130 a 133 são todos caracteres válidos por isso com esses a expressão seria [a-zA-Zé-à] ...

não me ocorre maneira melhor (nem sei se esta funciona, mas em princípio não vejo pq não)

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Eu esqueci-me de mencionar, mas já tinha experimentado da forma como sugeriste (embora não totalmente igual), mas não tinha funcionado.

Reparei também, que as tabelas ascii extendidas variam. Talvez seja disso... :hmm:

Como podes ver, os códigos ascii extendidos desta página, nada têm a ver com os desta.

Pelos testes que estive a fazer, a melhor forma de apanhar os caracteres especiais, é esta: [a-zA-ZÀ-ÿ].

Obrigado pela ajuda. :P

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

[quote author=quetzyg link=topic=12887.msg117380#msg117380 date=1182453643

Como podes ver, os códigos ascii extendidos desta página, nada têm a ver com os desta.

Por acaso têm tudo a ver, estás é a olhar para a coluna errada. É que o primeiro link que mostraste são códigos HTML e não ASCII propriamente ditos. Vê a coluna HTML (ou Dec) do segundo link e vais ver que bate certo. No entanto o termo "ASCII" não é muito correcto no primeiro link, já que ASCII apenas inclui caracteres cujos códigos vão até 127 em Decimal. A partir daí são "extensões", como o Unicode

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!


Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.


Entrar Agora