IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

API standards et tierces Java Discussion :

Interdire certains caracteres


Sujet :

API standards et tierces Java

  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    62
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 62
    Par défaut Interdire certains caracteres
    Bonjour,

    J ai une application constitué d une jsp,servlet et javabean ou l utilisateur tape un nom , une ip et port pour ce connecter a un pc.
    Le probleme c'est que l'utilisateur peut taper des lettre a la place des chiffre pour le port et donc cela me pose un pb


    dans ma servlet je recupere le port comme ceci:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    String Port= request.getParameter("PortHtml");
    je voudrai mettre ensuite une condition pour que si dans le String Port il y a autre chose que le chifre ca me fait autre chose.
    du style
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    if(Port!=???)   //ici ca serai plutut un Port.equals("???") mais cé pour l exemple
    {
     
    ]else {
           }
    quel est cette condition ?

  2. #2
    Membre chevronné

    Homme Profil pro
    Consultant informatique
    Inscrit en
    Juillet 2002
    Messages
    346
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Consultant informatique

    Informations forums :
    Inscription : Juillet 2002
    Messages : 346
    Par défaut
    Tu peut toujours essayer de transformer en entier, si ça marche pas c'est que ce n'est pas du numérique :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    try
    {
        int portInt = Integer.parseInt(Port);
    {
    catch(NumberFormatException nfe)
    {
        //non numérique
    }
    Sinon, regarde du coté des StringUtils des commons-lang de JAKARTA, il y a une méthode isNumeric.
    http://jakarta.apache.org/commons/la...ase/index.html

  3. #3
    zev
    zev est déconnecté
    Membre expérimenté
    Inscrit en
    Octobre 2004
    Messages
    204
    Détails du profil
    Informations forums :
    Inscription : Octobre 2004
    Messages : 204

  4. #4
    zev
    zev est déconnecté
    Membre expérimenté
    Inscrit en
    Octobre 2004
    Messages
    204
    Détails du profil
    Informations forums :
    Inscription : Octobre 2004
    Messages : 204
    Par défaut
    Je t'accorde que c pas simple en premier abord.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
     
    import java.util.regex.Matcher;
    import java.util.regex.Pattern;
     
    public class TestPattern {
    	public static void main(String[] args) {
     
    		String ipv4 = "^[0-9]{0,3}:[0-9]{0,3}:[0-9]{0,3}:[0-9]{0,3}$";
     
    		String saisie1 ="24:125:255:0";
    		if (saisie1.matches(ipv4)){
    			System.out.println("Saisie 1 valide");
    		}else{
    			System.out.println("Saisie 1 non valide");
    		}
     
    		String saisie2 ="ab:12:1a::";
    		if (saisie2.matches(ipv4)){
    			System.out.println("Saisie 2 valide");
    		}else{
    			System.out.println("Saisie 2 non valide");
    		}
     
    	}
    }

  5. #5
    zev
    zev est déconnecté
    Membre expérimenté
    Inscrit en
    Octobre 2004
    Messages
    204
    Détails du profil
    Informations forums :
    Inscription : Octobre 2004
    Messages : 204
    Par défaut
    Explications :
    ^ debut de ligne
    [0-9] des chiffres de 0 à 9
    {0,3} répété de 0 à 3 fois
    : le caractère :
    $ fin de ligne


    c pas parfait, genre tu peux entrer 666::999:0 en ip ce qui n'est pas génial (le max c 255), mais bon c deja ça

  6. #6
    zev
    zev est déconnecté
    Membre expérimenté
    Inscrit en
    Octobre 2004
    Messages
    204
    Détails du profil
    Informations forums :
    Inscription : Octobre 2004
    Messages : 204
    Par défaut
    feuuuh ça c pour un ip, tu voulais un port en chiffre:/
    C plus simple alors...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    String port= "^[0-9]*$";
    String saisie ="8080";
    if (saisie.matches(port)){
    System.out.println("Saisie valide");
    }else{
    System.out.println("Saisie non valide");
    }
    * veut dire répété de 0 à n fois.

  7. #7
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    62
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 62
    Par défaut
    merci beaucoup ca marche

Discussions similaires

  1. [VB.NET][debutant]textbox et interdire certains caracteres !
    Par ChristopheOce dans le forum Windows Forms
    Réponses: 4
    Dernier message: 27/07/2006, 14h17
  2. fonction pour interdire un caractere dans un champ en php
    Par carmen256 dans le forum Langage
    Réponses: 2
    Dernier message: 15/03/2006, 22h41
  3. Liste déroulantes . Interdire certaines options
    Par hisy dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 27/01/2006, 12h58
  4. Interdire certaines touches
    Par maminova dans le forum Interfaces Graphiques en Java
    Réponses: 6
    Dernier message: 09/12/2005, 03h28
  5. Réponses: 7
    Dernier message: 14/05/2004, 18h22

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo