12. januar 2006 - 14:29Der er
12 kommentarer og 1 løsning
At fjerne mellemrum, enter og return.
Jeg skal lave en funktion der fjerner mellemrum-, enter- og return-indtastninger i starten af mit script, for at sikre at et textarea er udfyldt. For at fjerne mellemrum gør jeg p.t. således:
function test_af_submit(id){ str = document.getElementById(id).value; str = str.replace(/^ +/,""); str = str.replace(/ +$/,""); if (str == ''){ window.alert('Du mangler at udfylde tekstfeltet'); return false; } return true; }
jeg forestiller mig en omskrivning noget i stil med:
Er det ikke bare mange gange nemmere at trimme feltet og se om det er tomt?
function LTrim(str) { var whitespace = new String(" \t\n\r"); var s = new String(str);
if (whitespace.indexOf(s.charAt(0)) != -1) { var j=0, i = s.length; while (j < i && whitespace.indexOf(s.charAt(j)) != -1) j++; s = s.substring(j, i); } return s; }
function RTrim(str) { var whitespace = new String(" \t\n\r"); var s = new String(str);
if (whitespace.indexOf(s.charAt(s.length-1)) != -1) { var i = s.length - 1; while (i >= 0 && whitespace.indexOf(s.charAt(i)) != -1) i--; s = s.substring(0, i+1); } return s; }
function Trim(str) { return RTrim(LTrim(str)); }
function test_af_submit(id){ str = Trim(document.getElementById(id).value); if (str == ''){ window.alert('Du mangler at udfylde tekstfeltet'); return false; } return true; }
Barklund - jo det ser sandelig nemmere ud. Skal det forståes at: 1) \t = enter og \r = return 2) At man spørger om whitespace er lig plads 'i' i streng-arrayet str? 3) Hvorfor skal man ikke skrive: while (whitespace.indexOf(str.charAt(i)) != -1 && i < j) i++;
Tak roenving. Vertikal tab havde jeg ikke tænkt på - men det er jo heller ikke så vigtigt i et textarea - \s er altså prædefinineret som alle ikke synlige tegn. Tak skal barklund og roenving have. Mit svar er - Kan i ikke give et SVAR. Mvh Christian.
P.s. Kender i nogle tuturial- og manual-sider for RegExp? Kan alle browsere forstå browsere Mozilla, FireFox etc. (og i5) forstå RegExp?
P.s. blev vist lidt uforståeligt og har iøvrigt noget med SVAR at gøre. Det skulle være: Kan alle browsere forstå RexExp. Altså Mozilla, FireFox etc. (og ei5)?
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.