4 votes

Autoriser uniquement les caractères en minuscules

J'utilise le code suivant pour vérifier si une entrée utilisateur est en minuscules ou non. Je n'autoriserai que des caractères de a à z. aucun autre caractère n'est autorisé.

Fichier JavaScript :

var pat = /[a-z]/;

function checkname()
{
  var t = $("input[name='user_name']").val();

  if(pat.test(t) == false)
  {
    alert('Seuls les caractères en minuscules sont autorisés');
  }
}
//... autres fonctions

Mais cela ne fonctionne pas tout le temps. Si je saisis industrialS, il ne trouvera pas le 'S' majuscule.

J'ai également essayé : /^[a-z]$/ et /[a-z]+/. Mais cela ne fonctionne pas.

Veuillez m'aider.

3 votes

Commencez à apprendre regex: /^[a-z]+$/ Exemple: jsfiddle.net/5wt9S/1

1 votes

Vous voudrez peut-être également envisager de simplement mettre en minuscules ce que l'utilisateur entre et d'utiliser cela au lieu de les obliger à taper en minuscules. Vous pourriez même le faire en direct pendant qu'ils tapent pour qu'ils le voient se produire. Beaucoup mieux pour la facilité d'utilisation d'apprendre, de leur montrer et de le corriger pour eux que de leur montrer un message d'erreur.

12voto

Pointy Points 172438

Votre expression régulière vérifie simplement si la chaîne contient tout caractère en minuscule. Essayez ceci :

var pat = /^[a-z]+$/;

Ce motif ne fera correspondre que les chaînes contenant un ou plusieurs caractères alphabétiques en minuscules, et aucun autre caractère. Le "^" au début et le "$" à la fin sont des ancres qui correspondent au début et à la fin de la chaîne testée.

0voto

Robert Puhan Points 11

Voici la solution qui a fonctionné pour moi : Ajoutez md5 avant le mot de passe comme ceci :

$password=md5($_POST['password']);

Dans la base de données, sélectionnez les utilisateurs et éditez le mot de passe, puis changez-le en mot de passe MD5 long.

De cette façon, votre mot de passe sera sensible à la casse.

0voto

0lukasz0 Points 1072

Votre expression régulière devrait être:

/^[a-z]+$/

0voto

L Ananta Prasad Points 989
if((/[a-z]/.test(email))==true){//autoriser les caractères minuscules}

-1voto

jacob Points 6735

Depuis tout ce que vous voulez, ce sont des lettres minuscules, au lieu de dire simplement à l'utilisateur qu'il/elle a fait quelque chose de mal, je le corrigerais :

function checkname() {
    var disallowed = /[^a-z]/gi; // g=global , i=insensible à la casse
    if (this.value == disallowed) {
        //supprimer les caractères non autorisés
        this.value = this.value.replace(disallowed,'');
        alert('Seules les lettres minuscules sont autorisées');
        //au lieu d'une alerte, j'utiliserais un message fadeIn() moins intrusif
    }
    this.value = this.value.toLowerCase();
}

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X