/ / Validação de jquery para forçar letras minúsculas e símbolos - jquery, regex, validação

Validação de Jquery para forçar letras minúsculas e símbolos - jquery, regex, validação

Eu consegui falhar. Estou tentando permitir caracteres e símbolos em minúsculas. Eu não sou muito bom em regex, então sinta-se livre para rir

$.validator.addMethod("lowercasesymbols", function(value) {
return value.match(/^[a-z-"?=.*[!@# $%&/=?_.,:;\-]"]+$/);
}, "You must use only lowercase letters and symbols in your entry");

Obrigado pela ajuda.

Respostas:

2 para resposta № 1

Como você disse nos comentários, "estou simplesmente tentando restringir números e letras maiúsculas".

Para fazer isso, basta fazer um teste para isso:

$.validator.addMethod("lowercasesymbols", function(value) {
return value.match(/^[^A-Z0-9]+$/);
}, "You must use only lowercase letters and symbols in your entry");

Dessa forma, você está combinando com qualquer coisa que seja não A-Z ou 0-9. Se chegar ao fim dessa maneira, sua string não conterá nenhuma dessas coisas.

Dessa forma, você também permitirá letras gregas (incluindo maiúsculas), acentuadas (incluindo maiúsculas), etc., portanto, pode não ser exatamente o que você deseja. É o que você deve usar se estiver " somente tentando restringir letras maiúsculas e números.

Para permitir apenas os símbolos mencionados, você ainda precisa escapar de colchetes ([ e ]), o que estava causando problemas. Além disso, você tem vários dos mesmos personagens no seu intervalo, que eu removi. Finalmente, você deveria sempre mantenha seu traço no final do intervalo, caso contrário, ele corresponderá como se fosse um intervalo entre o personagem anterior e o posterior. No seu caso, ele está tentando corresponder caracteres para ], que não funcionará. Este é o resultado da minha limpeza:

$.validator.addMethod("lowercasesymbols", function(value) {
return value.match(/^[a-z[!@# $%&*/?=_.,:;\]"-]+$/);
}, "You must use only lowercase letters and symbols in your entry");