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 06/05/2011, 16h31   #1
Membre régulier
 
Avatar de Johann7751
 
Johann
Analyste Programmeur Junior
Inscription : février 2009
Messages : 216
Détails du profil
Informations personnelles :
Nom : Johann
Âge : 26
Localisation : France

Informations professionnelles :
Activité : Analyste Programmeur Junior

Informations forums :
Inscription : février 2009
Messages : 216
Points : 98
Points : 98
Par défaut Tester la valeur d'un input type="text". Utilisation de regExp ?

Bonjour,

Dans ma page HTML, j'ai un champ input type="text" (une textbox quoi).

J'aimerais contrôler la saisie de l'utilisateur :
L'utilisateur peut rentrer
- soit un nombre entier
- soit un nombre à virgule (pour la virgule, l'utilisateur peut utiliser soit le "." soit la ",")
et c'est tout !!

Comment faire cela ?
J'ai pensé à l'utilisation des regExp mais j'ai un doute.

Mon algo :
- je récupère la valeur de mon champ dans une variable
- construire un regExp adapté à ce que je veux
- comparer ma valeur à mon regExp avec la méthode match() des chaînes de caractères
1. Est ce que mon algo est bon ? Est ce que je dois bien utiliser la méthode match() pour résoudre mon problème ?

Et je n'arrive pas à écrire le motid de mon regExp !
En gros il faut que j'arrive à :
- la chaîne ne doit contenir que des chiffres de 0 à 9, plus éventuellement une virgule ou un point.
- Pas plus de 1 point dans la chaîne.
- Pas plus d'une virgule dans la chaîne.
- Le point ou la virgule ne doivent pas être le dernier caractère de la chaîne.
- le point et la virgule ne doivent pas être présents ensemble dans la chaîne.

2. Quelqu'un saurait écrire un motif correspondant à ce que j'écris ?


Merci à tous pour votre aide.
Johann7751 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/05/2011, 16h40   #2
Modérateur
 
Avatar de NoSmoking
 
Homme
Inscription : janvier 2011
Messages : 2 933
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Isère (Rhône Alpes)

Informations forums :
Inscription : janvier 2011
Messages : 2 933
Points : 4 756
Points : 4 756
Bonjour,
tu peux également utiliser la méthode suivante
- remplacement des , par des .
- tester si isNaN (is not a numeric)

[EDIT]
tu peux également verrouiller à la saisie
[/EDIT]
NoSmoking est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/05/2011, 17h05   #3
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 007
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 007
Points : 45 091
Points : 45 091
tu peux en effet utiliser les regexp, mais il pas avec match ... utilise plutot test
__________________
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 déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 09h15.


 
 
 
 
Partenaires

Hébergement Web