RegEx lettre ou . ou -
Fermé
Zyrkon
Messages postés
10
Date d'inscription
vendredi 11 octobre 2013
Statut
Membre
Dernière intervention
20 octobre 2013
-
Modifié par Zyrkon le 11/10/2013 à 00:52
Zyrkon Messages postés 10 Date d'inscription vendredi 11 octobre 2013 Statut Membre Dernière intervention 20 octobre 2013 - 20 oct. 2013 à 22:05
Zyrkon Messages postés 10 Date d'inscription vendredi 11 octobre 2013 Statut Membre Dernière intervention 20 octobre 2013 - 20 oct. 2013 à 22:05
A voir également:
- RegEx lettre ou . ou -
- Telecharger macro convertir chiffre en lettre excel - Télécharger - Tableur
- Caractere speciaux lettre - Guide
- Changer lettre disque dur - Guide
- Application pour écrire les chiffre en lettre - Télécharger - Outils professionnels
- Lettre recommandée 1a signification ✓ - Forum Windows
16 réponses
Zyrkon
Messages postés
10
Date d'inscription
vendredi 11 octobre 2013
Statut
Membre
Dernière intervention
20 octobre 2013
11 oct. 2013 à 00:50
11 oct. 2013 à 00:50
désolé l'indentation a déconnée oO
prosthetiks
Messages postés
1189
Date d'inscription
dimanche 7 octobre 2007
Statut
Membre
Dernière intervention
12 juin 2020
431
12 oct. 2013 à 05:26
12 oct. 2013 à 05:26
Regex !! je pend :) réponse dans 15
Zyrkon
Messages postés
10
Date d'inscription
vendredi 11 octobre 2013
Statut
Membre
Dernière intervention
20 octobre 2013
12 oct. 2013 à 14:52
12 oct. 2013 à 14:52
merci d'avance si tu trouve une solution :)
animostab
Messages postés
2829
Date d'inscription
jeudi 10 mars 2005
Statut
Membre
Dernière intervention
11 novembre 2019
737
12 oct. 2013 à 17:43
12 oct. 2013 à 17:43
et pourquoi pas rajouter une condition qui renvoie un texte d'erreur si il y a des chiffre genre == [0-9]*
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Zyrkon
Messages postés
10
Date d'inscription
vendredi 11 octobre 2013
Statut
Membre
Dernière intervention
20 octobre 2013
12 oct. 2013 à 18:35
12 oct. 2013 à 18:35
parce qu'il ne faut pas qu'il n'y est pas que pas de chiffres :s (pas très clair peut-être ? lol
animostab
Messages postés
2829
Date d'inscription
jeudi 10 mars 2005
Statut
Membre
Dernière intervention
11 novembre 2019
737
13 oct. 2013 à 15:25
13 oct. 2013 à 15:25
ou bien peut être un truc du genre
'([a-zA-Z]|\.|-)*' && !([0-9]*) bon je suis pas sur de la syntaxe
'([a-zA-Z]|\.|-)*' && !([0-9]*) bon je suis pas sur de la syntaxe
Zyrkon
Messages postés
10
Date d'inscription
vendredi 11 octobre 2013
Statut
Membre
Dernière intervention
20 octobre 2013
13 oct. 2013 à 18:53
13 oct. 2013 à 18:53
bah le truc c'est qu'il ne faut pas de caractères spéciaux
en fait il ne faut que des lettres des . ou des -
:/
ce qui rend cette regex complexe je trouve
on peut aussi y aller en mode combinaison de if et de regex mais j'ai pas trouvé d'algo correct pour :(
en fait il ne faut que des lettres des . ou des -
:/
ce qui rend cette regex complexe je trouve
on peut aussi y aller en mode combinaison de if et de regex mais j'ai pas trouvé d'algo correct pour :(
prosthetiks
Messages postés
1189
Date d'inscription
dimanche 7 octobre 2007
Statut
Membre
Dernière intervention
12 juin 2020
431
14 oct. 2013 à 00:48
14 oct. 2013 à 00:48
Hello, voici un pattern qui devrait te convenir:
var pattern = /^[\w\u00E0-\u00FC\.-]+$/i;
var pattern = /^[\w\u00E0-\u00FC\.-]+$/i;
Zyrkon
Messages postés
10
Date d'inscription
vendredi 11 octobre 2013
Statut
Membre
Dernière intervention
20 octobre 2013
14 oct. 2013 à 05:33
14 oct. 2013 à 05:33
je vais testé ça dès que possible :)
Zyrkon
Messages postés
10
Date d'inscription
vendredi 11 octobre 2013
Statut
Membre
Dernière intervention
20 octobre 2013
Modifié par Zyrkon le 15/10/2013 à 15:58
Modifié par Zyrkon le 15/10/2013 à 15:58
malheureusement lorsque je met par exemple 123 dans le champ associé, ça valide le formulaire quand même, hors cela ne devrait pas :(
peut-être faudrait-il revoir la façon dont j'utilise cette regex (mais je l'utilise comme les autres..)
exemple pour les autres :
peut-être que dans mon code plus haut (dans la première fonction qui utilise l'ensemble) j'ai mal codé quelque chose (assemblage des messages ? vérification des conditions ?) mais cela me semble plutôt correct, au besoin je recolle le code avec indentation ;)
peut-être faudrait-il revoir la façon dont j'utilise cette regex (mais je l'utilise comme les autres..)
exemple pour les autres :
function validerMail(mailTester){
var reg1 = new RegExp('^[a-z0-9]+([_|\.|-]{1}[a-z0-9]+)*@[a-z0-9]+([_|\.|-]{1}[a-z0-9]+)*[\.]{1}[a-z]{2,6}$', 'i');
return(reg1.test(mailTester));
}
function validerMDP(mdpTester){
var reg2 = new RegExp('^(?=.{6,15}$)(?=.*[0-9])(?=.*[a-zA-Z]).*');
return(reg2.test(mdpTester));
}
peut-être que dans mon code plus haut (dans la première fonction qui utilise l'ensemble) j'ai mal codé quelque chose (assemblage des messages ? vérification des conditions ?) mais cela me semble plutôt correct, au besoin je recolle le code avec indentation ;)
prosthetiks
Messages postés
1189
Date d'inscription
dimanche 7 octobre 2007
Statut
Membre
Dernière intervention
12 juin 2020
431
17 oct. 2013 à 05:36
17 oct. 2013 à 05:36
Remplace juste le \w par a-zA-Z, de la sorte: var pattern = /^[a-zA-Z\u00E0-\u00FC\.-]+$/i;
Zyrkon
Messages postés
10
Date d'inscription
vendredi 11 octobre 2013
Statut
Membre
Dernière intervention
20 octobre 2013
17 oct. 2013 à 06:31
17 oct. 2013 à 06:31
J'ai essayer aussi, toujours le même résultat (ça laisse passé 123 dans le champ auteur) :/ ce qui ne devrait pas arriver :/
prosthetiks
Messages postés
1189
Date d'inscription
dimanche 7 octobre 2007
Statut
Membre
Dernière intervention
12 juin 2020
431
Modifié par prosthetiks le 17/10/2013 à 16:21
Modifié par prosthetiks le 17/10/2013 à 16:21
chez moi, elle bloque les numériques:
<html>
<head>
<title></title>
<meta charset="utf-8">
</head>
<body>
Pattern: <input type="text" size="30" id="pattern" disabled="disable"><br />
<input type="text" placeholder="chaîne à tester" id="toto">
<button>Test</button>
<script type="text/javascript" src="http://code.jquery.com/jquery-1.10.2.min.js"></script>
<script type="text/javascript">
var pattern = /^[a-zA-Z\u00E0-\u00FC\.-]+$/i;
$('#pattern').val(pattern);
$('button').click(function(){
var string = $('#toto').val();
var test = new RegExp(pattern);
alert(test.test(string) ? string + ' est valide': string + ' est invalide');
});
</script>
</body>
</html>
Zyrkon
Messages postés
10
Date d'inscription
vendredi 11 octobre 2013
Statut
Membre
Dernière intervention
20 octobre 2013
18 oct. 2013 à 16:31
18 oct. 2013 à 16:31
Je suis intrigué car cela ne veux vraiment pas fonctionner :/
prosthetiks
Messages postés
1189
Date d'inscription
dimanche 7 octobre 2007
Statut
Membre
Dernière intervention
12 juin 2020
431
19 oct. 2013 à 02:20
19 oct. 2013 à 02:20
tu peux poster la totalité du script qui ne fonctionne pas stp ?
Zyrkon
Messages postés
10
Date d'inscription
vendredi 11 octobre 2013
Statut
Membre
Dernière intervention
20 octobre 2013
Modifié par Zyrkon le 20/10/2013 à 22:06
Modifié par Zyrkon le 20/10/2013 à 22:06
pour info, c'est pour un devoir (que j'ai déjà remis)
je voudrais résoudre le trouble pour mieux comprendre ce qui ne va pas et comment le résoudre si jamais je retombe dans le même genre de problèmes par la suite
Voici le script au complet:
je voudrais résoudre le trouble pour mieux comprendre ce qui ne va pas et comment le résoudre si jamais je retombe dans le même genre de problèmes par la suite
Voici le script au complet:
function createCookie(name,value,days) {
if (days) {
var date = new Date();
date.setTime(date.getTime()+(days*24*60*60*1000));
var expires = "; expires="+date.toGMTString();
}
else expires = "";
document.cookie = name+"="+value+expires+"; path=/";
}
function readCookie(name) {
var nameEQ = name + "=";
var ca = document.cookie.split(';');
for(var i=0;i < ca.length;i++) {
var c = ca[i];
while (c.charAt(0)==' ') c = c.substring(1,c.length);
if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
}
return null;
}
function getPreferredStyleSheet() {
var i, a;
for(i=0; (a = document.getElementsByTagName("link")[i]); i++) {
if(a.getAttribute("rel").indexOf("style") != -1
&& a.getAttribute("rel").indexOf("alt") == -1
&& a.getAttribute("title")
) return a.getAttribute("title");
}
return null;
}
function getActiveStyleSheet() {
var i, a;
for(i=0; (a = document.getElementsByTagName("link")[i]); i++) {
if(a.getAttribute("rel").indexOf("style") != -1
&& a.getAttribute("title")
&& !a.disabled) return a.getAttribute("title");
}
return null;
}
function setActiveStyleSheet(title) {
var i, a, main;
for(i=0; (a = document.getElementsByTagName("link")[i]); i++) {
if(a.getAttribute("rel").indexOf("style") != -1
&& a.getAttribute("title")) {
a.disabled = true;
if(a.getAttribute("title") == title) a.disabled = false;
}
}
}
function initiate() {
document.getElementById("theme1").style.display="block";
document.getElementById("theme1").style.backgroundColor="#00ff00";
document.getElementById("theme1").style.width="30px";
document.getElementById("theme1").style.textDecoration="none";
document.getElementById("theme2").style.display="block";
document.getElementById("theme2").style.backgroundColor="#000000";
document.getElementById("theme2").style.width="30px";
document.getElementById("theme2").style.textDecoration="none";
document.getElementById("theme1").onclick = function() {
setActiveStyleSheet("theme1");
return false;
}
document.getElementById("theme2").onclick = function() {
setActiveStyleSheet("theme2");
return false;
}
}
//permet d'initialiser certaines fonctionnalité lors du chargement des pages
window.onload = function(e) {
var cookie = readCookie("style");
var title = cookie ? cookie : getPreferredStyleSheet();
setActiveStyleSheet(title);
initiate();
//permet de voir s'il y a le formulaire de login pour appeler la bonne fonction de vérification
var vLogin = document.getElementById("loginForm");
if (vLogin) {
document.forms[0].onsubmit = function() {
return valider1();
}
}
//permet de voir s'il y a le formulaire d'ajout de livre pour appeler la bonne fonction de vérification
var vAjouter = document.getElementById("addBook");
if (vAjouter) {
document.forms[0].onsubmit = function () {
return valider2();
}
}
}
window.onunload = function(e) {
var title = getActiveStyleSheet();
createCookie("style", title, 365);
}
//permet de vérifier le bon format du courriel et du mot de passe lors de l'envoi du formulaire
function valider1() { //fonctionne
var message = "";
//on vérifie s'ils sont vides
if ((document.forms[0].numid.value!="") && (document.forms[0].mdp.value!="")){
//variables pour la vérification par les fonctions
var idTest = (document.forms[0].numid.value);
var mdpTest = (document.forms[0].mdp.value);
//pas vides alors on vérifie le courriel
if (validerMail(idTest)){
//on vérifie le mot de passe
if (!validerMDP(mdpTest)){
//mdp incorrect, on contruit le message d'erreur
message += "Mot de passe invalide!";
message += "\n\nLe mot de passe doit respecter les règles suivantes:";
message += "\n\t-6 caractères minimum";
message += "\n\t-15 caractères maximum";
message += "\n\t-contenir au moins un chiffre";
message += "\n\t-contenir au moins une lettre";
} //pas de else, tout est bon
} else { //l'id est incorrect
message += "L'ID doit-être un courriel valide.";
message += "\n\nExemple:";
message += "\n\n\texemple@domain.com";
}
} else { //le numId et/ou le mdp est vide, on construit le message d'erreur
message += "Le numéro d'ID et le mot de passe sont obligatoires";
}
//vérification des messages pour voir s'il y a des erreurs et donc envoyer le formulaire ou non
if (message == "") {
return true;
} else {
alert(message);
return false;
}
}
//permet de vérifier le bon format de certains des champs du formulaire d'ajout d'un livre
function valider2() {
//variables d'usage pour vérifications diverses:
//pour les messages d'erreurs
var message = "";
var message1 = "";
var message2 = "";
var message3 = "";
//pour les contenu à vérifier
var auteurTest = (document.forms[0].auteur.value);
var anneeTest = (document.forms[0].annee.value);
var nbPagesTest = (document.forms[0].nbPages.value);
//on vérifie s'ils sont vides (pour le titre et l'isbn obligatoire)
if ((document.forms[0].titre.value!="") && (document.forms[0].isbn.value!="")){
//pas vides donc vérification de l'auteur, de la date et du nombres de pages.
//si auteur pas vide on vérifie le contenu
if (auteurTest != "") {
if (!validerAuteur(auteurTest)){ //la regex associée ne fonctionne pas, voir plus bas
//contenu incorrect, on construit le message d'erreur
message1 = "L'auteur ne peut contenir que:";
message1 += "\n\t-des lettres";
mesasge1 += "\n\t-des tirets (-)";
mesasge1 += "\n\t-des points (.)";
} //pas de else, auteur ok
}
//si annee pas vide on vérifie le contenu
if (anneeTest != "") {
if (!validerEntier(anneeTest)){
message2 = "L'année doit-être un entier.";
} //pas de else, annee ok
}
//si nbPages pas vide on vérifie le contenu
if (nbPagesTest != "") {
if (!validerEntier(nbPagesTest)){
message3 = "Le nombre de pages doit-être un entier.";
} //pas de else, pages ok
}
} else { // l'isbn et/ou le titre est vide, on construit le message d'erreur
message += "L'ISBN et le titre sont obligatoires";
}
//assemblage des messages ici pour avoir qu'une seule alerte qui rassemble tout
if (message1 != "") {
message = message1;
}
if (message2 != "") {
if (message != "") {
message += "\n---";
message += "\n" + message2;
} else {
message = message2;
}
}
if (message3 != "") {
if (message != "") {
message += "\n---";
message += "\n" + message3;
} else {
message = message3;
}
}
if (message == "") {
return true;
} else {
alert(message);
return false;
}
}
//permet de vérifier le format d'un courriel
function validerMail(mailTester){ //fonctionne
var reg1 = new RegExp('^[a-z0-9]+([_|\.|-]{1}[a-z0-9]+)*@[a-z0-9]+([_|\.|-]{1}[a-z0-9]+)*[\.]{1}[a-z]{2,6}$', 'i');
return(reg1.test(mailTester));
}
//permet de vérifier le format du contenu du mot de passe
function validerMDP(mdpTester){
var reg2 = new RegExp('^(?=.{6,15}$)(?=.*[0-9])(?=.*[a-zA-Z]).*');
return(reg2.test(mdpTester));
}
//permet de vérifier le format du contenu de l'auteur
function validerAuteur(auteurTester){ //aucune regex trouvées pour ça, voici quelques exemples possibles mais aucuns ne fonctionnent correctement
//var reg3 = new RegExp('/^[a-zA-Z\u00E0-\u00FC\.-]'.'i');
var reg3 = new RegExp('([a-zA-Z]|\.|-)*');
//var reg3 = new RegExp('/^[\w\u00E0-\u00FC\.-]','$/i');
//var reg3 = /^[\w\u00E0-\u00FC\.-]+$/i;
//var reg3 = new RegExp(/[^a-z|\.|\-]/i);
return(reg3.test(auteurTester));
}
//permet de vérifier le format d'un entier
function validerEntier(entierTester){
var reg4 = new RegExp('^[0-9]+$');
return(reg4.test(entierTester));
}