comment aurais-je obtenir l'extension de fichier du Fichier dans une variable? comme si j'ai un fichier en tant que 1.txt j'ai besoin de l'txt partie.
Réponses
Trop de publicités?Une variante qui fonctionne avec toutes les entrées suivantes:
"file.name.with.dots.txt"
"file.txt"
"file"
""
null
serait:
var re = /(?:\.([^.]+))?$/;
var ext = re.exec("file.name.with.dots.txt")[1]; // "txt"
var ext = re.exec("file.txt")[1]; // "txt"
var ext = re.exec("file")[1]; // undefined
var ext = re.exec("")[1]; // undefined
var ext = re.exec(null)[1]; // undefined
Explication
(?: # begin non-capture d'un groupe \. # un point ( # lancer la capture de groupe (capture les extension) [^.]+ # rien, sauf un point, plusieurs fois ) # fin de la capture de groupe )? # fin de non-capture d'un groupe, le rendre facultatif $ # ancre à la fin de la chaîne
Personnellement, je préfèrent diviser la chaîne par des '.' et il suffit de retourner le dernier élément de tableau :)
var fileExt = filename.split('.').pop();
Si il n'y a pas de". " dans le nom de fichier , vous obtenez l'ensemble de la chaîne de retour.
Exemples:
'some_value' = 'some_value'
'.htaccess' = 'htaccess'
'../images/something.cool.jpg' = 'jpg'
'http://www.w3schools.com/jsref/jsref_pop.asp' = 'asp'
'http://stackoverflow.com/questions/680929' = 'com/questions/680929'
Je vous conseille d'utiliser lastIndexOf() par opposition à indexOf()
var myString = "this.is.my.file.txt"
alert(myString.substring(myString.lastIndexOf(".")+1))