19. juni 2003 - 14:20Der er
14 kommentarer og 1 løsning
ertatte og fjerne tegn fra tekstreng på en let måde
Hej Jeg har en tekststreng som skal tjekkes og ændres således at den kun indeholder a-z, 0-9 og hvor ø=oe, æ=ae og å=aa, tegn der ikke er i denne liste skal bare fjernes.
Mit problem er at til at starte med at tjekket for om et bogstav er a-z ikke helt fungerer... er det nogen der kan hjælpe mig??
var ord =""; var ord1 = "bil båd båt"; ord = ord1.toLowerCase(); var ord2 = "";
for (i = 0; i < ord.length; i++){ a = ord.charAt(i); if (ord.charAt(i) == [a-z]||[0-9]) ord2 += a; if (ord.charAt(i) == "å") { a = "aa"; ord2 += a;} if (ord.charAt(i) == "æ") { a = "ae"; ord2 += a;} if (ord.charAt(i) == "ø") { a = "oe"; ord2 += a;} else { a = ""; ord2 += a;} } alert(ord2);
function repl(text){ text = text.replace(/ø+/g,"oe"); text = text.replace(/å+/g,"aa"); text = text.replace(/æ+/g,"ae"); return text }
Og så må du jo nok:
function stripChar(text){ var tegn = "abcdefghijklmnopqrstuvwxyz0123456789"; text = repl(text); var nytext = ""; for (i=0;i<text.length;i++){ if (tegn.indexOf(text.charAt(i))>-1)nytext+=text.charAt(i) } return nytext; }
Og så uden at ændre store/små bogstaver ... (bortset fra æøå !-)
function repl(text){ text = text.replace(/[^a-z0-9æøå ]+/gi, "") text = text.replace(/ø+/gi,"oe"); text = text.replace(/å+/gi,"aa"); text = text.replace(/æ+/gi,"ae"); return text }
function repl(text){ text = text.replace(/[^a-z0-9\346\370\345 ]+/gi, "") text = text.replace(/\345+/gi,"oe"); text = text.replace(/\346+/gi,"aa"); text = text.replace(/\370+/gi,"ae"); return text } ??? og hvilket tal svarer til hvilket bogstav?
Er der derudover nogen som kan forklare forskellen på gi og g i udtrykkene?
-- og hvis du så også vil beholde de store bogstaver for ÆØÅ:
function repl(text){ text = text.replace(/[^a-z0-9\346\370\345 ]+/gi, "") text = text.replace(/\345+/g,"oe"); text = text.replace(/\346+/g,"aa"); text = text.replace(/\370+/g,"ae"); text = text.replace(/\330+/g,"Oe"); text = text.replace(/\305+/g,"Aa"); text = text.replace(/\306+/g,"Ae"); return text }
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.