As expressões regulares são usadas para uma variedade de tarefas, mas a que vejo com mais frequência é a validação de entrada. Nomes, datas, números… temos a tendência de usar expressões regulares para tudo, mesmo quando provavelmente não deveríamos.
A sintaxe mais comum para verificar caracteres alfabéticos é A-z
mas e se a string contiver caracteres acentuados? Caracteres como ğ
e Ö
farão com que a regex falhe. É nesse ponto que precisamos usar escapes de propriedade Unicode para verificar se há um formato de letra mais amplo!
Vamos ver como podemos usar o \p{Letter}
e o sinalizador Unicode (u
) para corresponder aos caracteres padrão e acentuados:
// Single word "Özil".match(/[\p{Letter}]+/gu) // Word with spaces "Oğuzhan Özyakup".match(/[\p{Letter}\s]+/gu);
Usar expressões regulares para validar cadeias de caracteres, especialmente nomes, é muito mais difícil do que A-z+
. Os nomes e outras cadeias de caracteres podem ser muito diversos – não vamos insultar os usuários fazendo com que eles forneçam letras sem acento apenas para passar na validação!
Protocolo de ligação telefônica
Sempre fomos capazes de criar links com protocolos diferentes do HTTP usual, como mailto, skype, irc e outros; eles são uma excelente conveniência para os visitantes. Como os navegadores de celulares se tornaram infinitamente mais úteis, agora podemos estender essa conveniência aos números de telefone: O
tel
…