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 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56
|
function upperfirst(champ)
{
var val = champ.value.toLowerCase();
var virgule = ", ";
var espace = " ";
var regex = /(\d+)?\,?\s?(bis|ter|quater)?\,?\s?(rue|avenue|boulevard|r|av|ave|bd|bvd|square|sente|impasse|cours|esplanade|allée|résidence|parc|rond-point|chemin|côte|place|cité|quai|passage|lôtissement|hameau)?\s([a-zA-Zà-ÿ0-9\s]{2,})+$/gi;
match = regex.exec(val);
// on remplace les abréviations éventuelles
switch (match[3]){
case "r": match[3]="rue"; break;
case "bd": match[3]="boulevard"; break;
case "bvd": match[3]="boulevard"; break;
case "av": match[3]="avenue"; break;
case "ave": match[3]="avenue"; break;
case "sq": match[3]="square"; break;
case "imp": match[3]="impasse"; break;
case "esp": match[3]="esplanade"; break;
case "all": match[3]="allée"; break;
case "rés": match[3]="résidence"; break;
case "res": match[3]="résidence"; break;
case "chem": match[3]="chemin"; break;
case "pl": match[3]="place"; break;
case "pass": match[3]="passage"; break;
case "lot": match[3]="lôtissement"; break;
case "ham": match[3]="hameau"; break;
}
// s'il y a un numéro de rue (non obligatoire dans l'adresse)
if (match[1]!=null && match[3]!=null && match[4]!=null)
{
// s'il y a un bis, ter ou quater
if (match[2]!=null)
{
champ.value = (match[1]+espace+match[2]+virgule+match[3]+espace+match[4]);
}
//sinon
else
{champ.value = (match[1]+virgule+match[3]+espace+match[4]);
}
}
// s'il n'y a pas de numéro (et même avec un bis, ter ou quater)
else if (match[3]!=null && match[4]!=null)
{
champ.value = (match[3]+espace+match[4]);
}
else{
alert ("Merci de vérifier l'adresse que vous avez saisie...");
}
} |
Partager