Substr_count en javascript

Résolu/Fermé
pirmax Messages postés 476 Date d'inscription vendredi 20 octobre 2006 Statut Membre Dernière intervention 25 juillet 2014 - 23 juil. 2008 à 02:24
pirmax Messages postés 476 Date d'inscription vendredi 20 octobre 2006 Statut Membre Dernière intervention 25 juillet 2014 - 23 juil. 2008 à 14:02
Bonjour,

Je cherche le moyen de compter le nombre de . (point) dans une chaîne (tmp), le script que je veux faire est récupérer l'extension d'une entrée dans un FILE input et determiner si oui ou non elle est autoriséé (à partir d'un array)

Merci,
Maxence

3 réponses

macgawel Messages postés 664 Date d'inscription mercredi 7 mai 2008 Statut Membre Dernière intervention 1 novembre 2008 89
23 juil. 2008 à 09:17
Bonjour.

Faire ce genre de vérification en Javascript, tu n'as pas peur !
Une personne malveillante peut facilement contourner cette protection, et - accessoirement - l'extension ne veut pas dire grand chose...

M'enfin, si tu veux vraiment faire ça :

dernierpoint = chaine.lastIndexOf('.') => Te renvoie la position du dernier point d'une chaîne de caractères.
Du coup, pour avoir l'extension d'un fichier, il suffit de faire un substr en partant de la position du dernier point +1 :
extension = chaine.substr(chaine.lastIndexOf('.')+1, chaine.length);

0
pirmax Messages postés 476 Date d'inscription vendredi 20 octobre 2006 Statut Membre Dernière intervention 25 juillet 2014 44
23 juil. 2008 à 13:56
Salut, merci de ton aide, je vais tester ça tout de suite, mais ne t'iquiète pas, j'ai empêché la saisie dans le champ FILE input, donc il est impossible de le modifier, est-ce le problème que tu disais ?

Merci,
Maxence
0
pirmax Messages postés 476 Date d'inscription vendredi 20 octobre 2006 Statut Membre Dernière intervention 25 juillet 2014 44
23 juil. 2008 à 14:02
Alors, désolé tout d'abord pour le double post :)
J'ai réussi, en plus ca me réduit le code parce-que avant j'étais à 28 lignes et maintenant à 6-7 lignes !
Voici le code pour avoir l'extension d'un fichier :

<script type="text/javascript">
function trait(zone)
{
a = zone.value;
extension = a.substr(a.lastIndexOf('.')+1, a.length);
alert(extension);
}
</script>
<input type="file" onchange="trait(this);">

Et j'aimerais mettre dans un array des extensions qui se trouve dans ma base de donnée, je pense que c'est possible mais comment ?
0