JQuery & Regex
RésoluUtilisateur anonyme -
Bonjour, je ne voudrais que des lettres minuscules dans un champ nom, il suffit que je mettes une lettre capitale, çà passe comme même. Merci d'avance & bonne journée.
$(document).ready(function() {
$('#submit').click(function() {
var result = true;
if($('#username').val() == '') {
$('#username').css('border', '3px solid #8b0000');
$('.username_error').text('Veuillez remplir votre nom !').css('color', '#8b0000');
result = false;
}
else if(!$('#username').val().match(/[a-z]/)) {
$('#username').css('border', '3px solid #8b0000');
$('.username_error').text('Les lettres minuscules sont seulement autorisées
!').css('color', '#8b0000');
result = false;
}
else {
$('#username').css('border', '3px solid green');
$('.username_error').text('');
}
return result;
});
});
Windows / Chrome 115.0.0.0
- Jquery regex
- Regex buddy - Télécharger - Édition & Programmation
- Regex ne commence pas par ✓ - Forum Programmation
- Regex mot de passe ✓ - Forum Framework .NET
- Jquery submit - Forum Javascript
- Regex tabulation ✓ - Forum Programmation
3 réponses
Bonjour
ta regex teste si ton texte contient une minuscule. Donc par exemple AZERTY§_<>/;:?u serait accepté puisqu'il y un u minuscules.
Il faut donc une regex qui vérifie la totalité du texte, elle doit commencer par ^ pour signaler que la capture commence au début de la ligne, et finir par $ pour signaler qu'elle termine à la fin de la ligne.
Ensuite, il faut indiquer le nombre de lettres minuscules que doit avoir le nom.
Évidemment décider arbitrairement que le nom des gens doit faire 8 ou 13 lettres est contre intuitif, mais il faut définir une répétition acceptable du nombre de minuscules, soit * qui veut 0 ou plus, soit ? qui veut dire une ou plus, soit par exemple {3,} qui veut dire 3 ou plus, soit par exemple {4,20} qui veut dire entre 4 et 20.
Dans cet exemple https://regex101.com/r/3IbXYv/1 seuls ok et top sont acceptés car ils font entre 2 et 3 minuscules.
Attention, les diacritiques seront refusés, comme ça et été dans l'exemple