tronezMedlem sedan juli 2001728 inlägg
function konvertera(text)
{
/*
Skapa ett mönster som letar reda på alla gemena och versala A
*/
var pattern = /[aA]/g;
var text = prompt("Skriv lite text, vettja!","");
/*
Byt ut alla tecken som matchar mönstret vi skapade ovanför med ett #
*/
text = text.replace(pattern, "#");
// Skriv ut den ny texten
document.write(text);
}
Denna kod funkar som jag vill, dvs byta ut alla A a mot #, men om jag vill göra så att alla gemener blir versaler och versaler blir gemener, hur ska mna gå tillväga då?
Går det att skriva i RegExp, lr måste man använda sig av toLowerCase och toUpperCase?
Men då är frågan hur man ska köra dessa tillsammans, för om man text.toLowerCase() först så blir ju alla gemener, och om man sen kör text.toUpperCase, då blir ju alla stora ist.
NÃ¥n som fattar vad jag menar...
JojoxxMedlem sedan juni 20004 308 inlägg Exempel:
String.prototype.swicthCase = function(){
var str=new String();
for (var n=0;n<this.length;n++){
str+=(this.charAt(n)==this.charAt(n).toLowerCase())?this.charAt(n).toUpperCase():this.charAt(n).toLowerCase();
}
return str;
}
var text = prompt("Skriv lite text, vettja!","");
alert(text.swicthCase());
tronezMedlem sedan juli 2001728 inlägg tack, funkade perfekt, men skulle du kunna förklara lite närmre vad koden gör(jag vet ju vad resultat blir, men hur blir det det?)?
dessa 2 speciellt
String.prototype.swicthCase = function(){
str+=(this.charAt(n)==this.charAt(n).toLowerCase())?this.charAt(n).toUpperCase():this.charAt(n).toLowerCase();
Engine^Medlem sedan dec. 20003 887 inlägg Mmm...
if(this.charAt(n) == this.charAt(n).toLowerCase())
str += this.charAt(n).toUpperCase();
else
str += this.charAt(n).toLowerCase();
Ett kompaktare sätt att skriva en if-sats. Kallas inline if-statement om jag inte tar fel.
String.prototype.switchCase = function() {...}
Jag skulle förklara det som att skapa en extra metod för klassen String. Istället för att göra en vanlig funktion
function switchCase() {...}
text = switchCase(text);
Jojoxx kanske har en bättre förklaring om det behövs ;)
tronezMedlem sedan juli 2001728 inlägg tack, det mesta klarnade nu :birp