match (imbriqué) is not a function
Bonjour,
J'essaie de faire des conversions de dates. J'ai écris une fonction pour convertir une heure sous la forme 3:4:5 vers 03:04:05. Cependant, j'ai des problèmes pour imbriquer les match dans les expressions régulières.
Voici mon script :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
| function convertHms(time) {
// convert a h:m:s to hh:mm:ss
var h = time.match(/^[0-9]*/);
(h<10) ? h = '0' + h : h = h;
var m = time.replace(/^[0-9]*\:|\:[0-9]*$/g,'');
(m<10) ? m = '0' + m : m = m;
var s= time.match(/[0-9]*$/);
(s<10) ? s = '0' + s : s = s;
time = h + ':' + m + ':' + s;
return time;
}
d1='2:29:28';
print(d1);
print(convertHms(d1));
d2 = "08 janv. 2009 2:29:28"
d2 = d2.match(/[0-9]*\:[0-9]*\:[0-9]*$/);
print(d2);
print(convertHms(d2)); |
Dans cet exemple donné en bas de code, je devrai avoir deux fois le même résultat (02:29:28), la différence étant que d2 doit être une première fois extrait d'une chaine alors que d1 l'est déjà. Or, le second résultat me donne cette erreur :
Code:
TypeError on line 3: time.match is not a function
Merci de l'aide,
Thibaud.