Hej gott folk!
Försöker få till en formatering av texten i ett textfält. Jag vill att det skall formateras efter följande:
lars -> Lars
lars-åke -> Lars-Åke
niklas lars-åke gustav -> Niklas Lars-Åke Gustav
Med andra ord så ska den sätta versal på första bokstaven. Nedan är den kod jag har försökt få till men det fungerar inte riktigt, det kanske är RegExp som måste göra detta med och där faller alla mina möjligheter att lösa detta då jag inte kan RegExp. Kanske någon vet hur jag ska göra?
Tack på förhand!
Med vänlig hälsning
//K
if(!obj1.value.replace(/\s/g,"") == "") {
var name = '';
var done = '';
var loopArray = new Array("-", " ");
for(a=0; a<loopArray.length; a++) {
var nameArray = obj1.value.split(loopArray[a]);
for(b=0; b<nameArray.length; b++) {
name = nameArray[b].substring(0, 1).toUpperCase() + nameArray[b].substring(1, nameArray[b].length).toLowerCase();
if([b + 1] == nameArray.length) {
done = done + name;
} else {
done = done + name + loopArray[a];
}
}
}
obj1.value = done;
}
CalevanMedlem sedan maj 20031 173 inlägg Väldigt snyggt. visste inte att man kunde göra detta med CSS. Tyvärr så skickar den ju fortfarande formulärdatat som det är inskrivet, vilket jag inte är ute efter, glömde påpeka detta i mitt första inlägg.
Peter SMedlem sedan dec. 20025 483 inlägg En JS-lösning:
if(!obj1.value.replace(/\s/g,"") == "") {
obj1.value = obj1.value.replace(/(^[a-zåäö])|(\s[a-zåäö])|(-[a-zåäö])/g, function(c){ return c.toUpperCase() });
}
Oj, perfekt! Stort tack till er båda!!! :e
//K
En liten tilläggsfråga
Kan man göra andra formateringar på likande sätt, tex. till e-postadress och användarnamn. Om jag har dessa fält:
Förnamn: lars-åke -> Lars-Åke
Efternamn: gustavsson -> Gustavsson
Mellanamn: kalle -> Kalle
Och av dessa värden får man ut tex. en e-postadress som ser ut så här: lars-ake.k.gustavsson@mymail.com och ett användarnamn som detta: largus
Är detta möjligt? Någon har kanske något tips på någon sida som tar upp detta?
Tack igen på förhand!
Med vänlig hälsning
//K
Peter SMedlem sedan dec. 20025 483 inlägg function subs(s){
return s.replace(/å|ä|ö/gi, function(c){
c = c.toLowerCase();
if (c == "å" || c == "ä"){ return "a" }
if (c == "ö") { return "o" }});
}
epost.value = (subs(förnamn.value) + "."
+ subs(mellannamn.value.charAt(0)) + "."
+ subs(efternamn.value) + "@mymail.com").toLowerCase();
Tackar igen! Fan vad ni alla är duktiga alltså :)