Précédent   Forum des professionnels en informatique > Webmasters - Développement Web > JavaScript
JavaScript Forum programmation JavaScript. Lire : Cours JavaScript, FAQ JavaScript, Toutes les FAQ JavaScript et Sources JavaScript
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 23/08/2011, 17h51   #1
Membre éprouvé
 
Inscription : juillet 2004
Messages : 504
Détails du profil
Informations forums :
Inscription : juillet 2004
Messages : 504
Points : 449
Points : 449
Envoyer un message via MSN à helios77
Par défaut Chaine de caractère avec accent

Bonjour,
J'ai besoin de vérifier que le nom / prénom saisi respecte les règles suivantes :
- accent et c cédille
- lettre de l'alphabet
- apostrophe, trait d'union et espace

En gros, si au moins un des caractères de ma saisie ne fait pas partie de al lsite alors je refuse la saisie

Voici mon code
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
 
String.prototype.isNomPrenomValue = function()
{
    var avecAccent = "ÀÁÂÃÄÅàáâãäåÒÓÔÕÖØòóôõöøÈÉÊËèéêëÌÍÎÏìíîïÙÚÛÜùúûüÿÑñÇç";    
    var alphabet = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz";
    var caracAuthoris = " \'\-";
    var caracToTest = "";             
    for(var i = 0; i < this.length; i++){
        caracToTest = this.substr(i,1);
        if(avecAccent.indexOf(caracToTest,0) < 0 && alphabet.indexOf(caracToTest,0) < 0 && caracAuthoris.indexOf(caracToTest,0) < 0 )
            return false;            
    }
    return true;           
}
Jusque là, rien de bien méchant

Sauf que quand j'arrive dans ma fonction, la liste avecAccent semble être encodé en autre chose ==> le é (par exemple) n'est pas retrouvé et la saisie est considéré comme invalide

La masterPage de la page utilisant cette fonction est encodé en
Code :
1
2
 
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-15" />
Si quelqu'un a une idée ou une autre solution, je suis preneur
J'ai aussi essayé avec une expression régulière mais la liste des caractères accentués était toujours illisible

Précision : si je prends mon code e que je le mets dans une page html à part sans préciser un quelconque encodage, çà fonctionne

Merci d'avance de votre aide
helios77 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/08/2011, 18h33   #2
Rédacteur/Modérateur
 
Avatar de SpaceFrog
 
Homme
Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Analyste Programmeur
Inscription : mars 2002
Messages : 30 038
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : Royaume-Uni

Informations professionnelles :
Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Analyste Programmeur
Secteur : Industrie

Informations forums :
Inscription : mars 2002
Messages : 30 038
Points : 45 138
Points : 45 138
utf8 power

Mets un balise meta utf8
et enregistre ton fichier en utf8
éventuellement un charset utf8 sur la balise script .

Et adieu les soucis d'accents !

Pour plus d'infos => http://j-willette.developpez.com/tut...-site-en-utf8/
__________________
Ma page Developpez
Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
Votre post est résolu ? Alors n'oubliez pas le Tag


réalisations :www.planet-languages.com|www.saftair.com| www.ouestisol.fr | www.sebemex.fr | www.extramiante.fr | www.sistac-alizay.fr | www.acoustishop.fr | www.litt.fr | www.ouestventil.fr
SpaceFrog est actuellement connecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/08/2011, 19h01   #3
Membre Expert
 
Avatar de kdmbella
 
Homme Demazy Mbella
Développeur Web
Inscription : août 2010
Messages : 620
Détails du profil
Informations personnelles :
Nom : Homme Demazy Mbella
Localisation : Cameroun

Informations professionnelles :
Activité : Développeur Web
Secteur : High Tech - Produits et services télécom et Internet

Informations forums :
Inscription : août 2010
Messages : 620
Points : 1 470
Points : 1 470
oui avec un ficheir en UTF-8 _ ça résoud le problème mais je pense que sa doit etre du UTF-8 sans BOM.
tu peux le faire facilement via un éditeur comme notepad ++ via le menu format et tu choisi encoder en UTF-8 (sans BOM) a ++
__________________
Trois personnes peuvent garder un secret si deux d'entre elles sont mortes. :Benjamin Franklin
L'humanité se divise en trois catégories : ceux qui ne peuvent pas bouger, ceux qui peuvent bouger, et ceux qui bougent : Benjamin Franklin
Le hasard, c'est le déguisement que prend Dieu pour voyager incognito: Albert Einstein
bon je m'arrête là au risque de me faire buter
kdmbella est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/08/2011, 19h06   #4
Rédacteur/Modérateur
 
Avatar de SpaceFrog
 
Homme
Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Analyste Programmeur
Inscription : mars 2002
Messages : 30 038
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : Royaume-Uni

Informations professionnelles :
Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Analyste Programmeur
Secteur : Industrie

Informations forums :
Inscription : mars 2002
Messages : 30 038
Points : 45 138
Points : 45 138
le sans BOM ne vaut pas pour html js, mais peut en effet poser des soucis de "headers already sent" sous php
__________________
Ma page Developpez
Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
Votre post est résolu ? Alors n'oubliez pas le Tag


réalisations :www.planet-languages.com|www.saftair.com| www.ouestisol.fr | www.sebemex.fr | www.extramiante.fr | www.sistac-alizay.fr | www.acoustishop.fr | www.litt.fr | www.ouestventil.fr
SpaceFrog est actuellement connecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/08/2011, 19h48   #5
Responsable Développement Web

 
Avatar de Bovino
 
Homme Didier Mouronval
Développeur Web
Inscription : juin 2008
Messages : 13 807
Détails du profil
Informations personnelles :
Nom : Homme Didier Mouronval
Âge : 41
Localisation : France, Gironde (Aquitaine)

Informations professionnelles :
Activité : Développeur Web
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : juin 2008
Messages : 13 807
Points : 35 793
Points : 35 793
De mémoire (et au risque qu'elle me joue des tours... ) je crois que IIS n'apprécie pas beaucoup les fichiers sans BOM
__________________
Pas de question technique par MP !
Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi !
Vous possédez un blog et aimeriez diffuser vos billets sur le forum, contactez-moi !
Mes formations video2brain : La formation complète sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
Mon livre sur jQuery
Bovino est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/08/2011, 20h38   #6
Membre éprouvé
 
Inscription : juillet 2004
Messages : 504
Détails du profil
Informations forums :
Inscription : juillet 2004
Messages : 504
Points : 449
Points : 449
Envoyer un message via MSN à helios77
Re-bonjour,
Merci pour vos réponses mais l'utf-8 ne change rien

Je me suis dit que cela provenait peut-être de la configuration IIS alors j'ai mis ma page de test sur le serveur avec tout le head de ma masterpage afin d'avoir le même comportement

Ma page de test fonctionne correctement mais le contrôle grandeur nature rete KO

J'en perds mon latin

Demain, je vais essayer de voir le source généré sur la page en question et vérifie rqu'il n'y aurait pas un truc de générer en plus
helios77 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/08/2011, 22h47   #7
Rédacteur/Modérateur
 
Avatar de SpaceFrog
 
Homme
Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Analyste Programmeur
Inscription : mars 2002
Messages : 30 038
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : Royaume-Uni

Informations professionnelles :
Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Analyste Programmeur
Secteur : Industrie

Informations forums :
Inscription : mars 2002
Messages : 30 038
Points : 45 138
Points : 45 138
en 100% utf-8 ça ne peut que fonctionner, tu dois rater une étape ...
__________________
Ma page Developpez
Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
Votre post est résolu ? Alors n'oubliez pas le Tag


réalisations :www.planet-languages.com|www.saftair.com| www.ouestisol.fr | www.sebemex.fr | www.extramiante.fr | www.sistac-alizay.fr | www.acoustishop.fr | www.litt.fr | www.ouestventil.fr
SpaceFrog est actuellement connecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/08/2011, 10h09   #8
Membre éprouvé
 
Inscription : juillet 2004
Messages : 504
Détails du profil
Informations forums :
Inscription : juillet 2004
Messages : 504
Points : 449
Points : 449
Envoyer un message via MSN à helios77
Bonjour,
J'ai du nouveau

J'utilise ma page de test qui est sur le serveur (encodé en iso-8859-15)
Sur la même session, j'utilise mon site graneur nature et la çà fonctionne

Comme si l'utilisation de ma page aurait chargé un truc dans le cache qui permet ensuite au script de marcher correctement

Pour info, toutes mes pages sont en utf-8 à la génération du source..
La sortie IIS l'encode directement en utf-8 ==> je suis en 100% utf-8

Dans mon javascript, je me dis que si j'arrivais à encoder ma chaine de caractère en iso-8859-15, me problèmes seraient résolus

Cela est-il possible ?
helios77 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/08/2011, 10h22   #9
Rédacteur/Modérateur
 
Avatar de SpaceFrog
 
Homme
Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Analyste Programmeur
Inscription : mars 2002
Messages : 30 038
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : Royaume-Uni

Informations professionnelles :
Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Analyste Programmeur
Secteur : Industrie

Informations forums :
Inscription : mars 2002
Messages : 30 038
Points : 45 138
Points : 45 138
Ce n'est pas la bonne piste...

Ton fichier doit etre en utf8 et ta page html comporter une balise utf8

Tu n'es pas en 100% utf8 car ton serveur ne l'est pas.

si ton serveur te pose souci au niveau de son charset de sortie modifie le http config (sosu apache) ou rajoute un fichier htacces avec un default charset utf8
__________________
Ma page Developpez
Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
Votre post est résolu ? Alors n'oubliez pas le Tag


réalisations :www.planet-languages.com|www.saftair.com| www.ouestisol.fr | www.sebemex.fr | www.extramiante.fr | www.sistac-alizay.fr | www.acoustishop.fr | www.litt.fr | www.ouestventil.fr
SpaceFrog est actuellement connecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/08/2011, 10h33   #10
Membre éprouvé
 
Inscription : juillet 2004
Messages : 504
Détails du profil
Informations forums :
Inscription : juillet 2004
Messages : 504
Points : 449
Points : 449
Envoyer un message via MSN à helios77
J'ai trouvé ma solution pour de pas engendrer de dégâts sur le restant du site

Je défini mes variables au niveau de la masterPage qui est encodé correctement
L'utilisation de mon script est maintenant OK

Merci pour le temps que vous avez pu passer à ma répondre
helios77 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 16h46.


 
 
 
 
Partenaires

Hébergement Web