Caster une chaine en javascript

Salut à tous.

Je cherche un script simple pour tester si une chaine de caractère est au format que je recherche.

ALPHA
ALPHANUM
NUM

1 réponse

  1. Salut Manu,

    En Javascript, pour les nombres il existe la fonction isNaN()
    Pour le reste le mieux est d'utiliser les expressions régulières

    Ex :

    <html>
    <head>
    <script language="JavaScript">
    <!--

    function is_alphanum(value)
    {
    re = /\W/
    return !re.test(value)
    }

    function is_alpha(value)
    {
    re = /[^A-Za-z]/
    return !re.test(value)
    }

    function is_integer(value)
    {
    re = /[^ 0-9\-\+]/
    return !re.test(value) && !isNaN(value)
    }

    function test_type()
    {
    ref=window.document.test;
    a=ref.variable.value;

    ref.alphanum.value= (is_alphanum(a)) ? "Oui" : "Non"
    ref.alpha.value= (is_alpha(a)) ? "Oui" : "Non"
    ref.entier.value= (is_integer(a)) ? "Oui" : "Non"
    ref.nombre.value= (isNaN(a)) ? "Non" : "Oui"
    }

    // -->
    </script>

    </head>
    <body >
    <form name="test">
    <table>
    <tr>
    <td>Entrez votre variable</td>
    <td><input type="text" value="" name="variable" size=10 maxlength=10></td>
    </tr>
    <tr><td colspan=2><input type="button" value="Tester le type" onclick="test_type()"></td>
    </tr>

    <tr>
    <td>Alphanumérique</td>
    <td><input type="text" value="" name="alphanum" size=4></td>
    <tr>

    <tr>
    <td>Alpha seul</td>
    <td><input type="text" value="" name="alpha" size=4></td>
    </tr>

    <tr>
    <td>Numérique entier</td>
    <td><input type="text" value="" name="entier" size=4></td>
    </tr>

    <tr>
    <td>Nombre</td>
    <td><input type="text" value="" name="nombre" size=4></td>
    </tr>
    </table>

    </form>
    </body>
    </html>

    Nota : on doit pouvoir simplifier la fct is_integer()

    Je te conseile de te pencher sur la syntaxe des expressions régulières : c'est très puissant mais hélas pas facile du tout à lire !

    @+
    Philippe

    [[  The Truth is Out There   ]]
    1
    1. Merci.

      Un beotien!
      0