Avatar billede connorz Nybegynder
09. januar 2002 - 21:36 Der er 4 kommentarer og
1 løsning

indexOf og search

Der findes to metoder: indexOf og search
Hvad er forskellen på de to?

Jeg har prøvet at bruge dem begge på en streng fra et tekstfelt (document.form.text.value) men kun \'search\' virkede! Ved \'IndexOf\' fik jeg fejlmeddelelsen, at objektet ikke understøttede denne metode!!!

Hvad er årsagen? (jeg vil nemlig gerne kunne bruge \'IndexOf\', da denne kan indeholde en parameter mere!)
Avatar billede nute Nybegynder
09. januar 2002 - 21:43 #1
search benyttes med et regular expression, mens indexOf ikke gjør det...du kan ikke sammenlgne bruksmåte. Men...det hjelper kanskje å skrive \'indexOf\' med lille i og stor o...Javascript er case sensitive, så det vil gi en feilmelding hvis du ikke skriver metodenavnene korrekt

/nute
Avatar billede jakoba Nybegynder
10. januar 2002 - 02:46 #2
    document.form.text.value.indexOf( ... )
burde IKKE give nogen \'objektet understøtter ikke..\' fejlmelding. value i et tekstfelt er pr definition en string.

search derimod skulle give den fejl, da value ikke er en regular Exåression.

kalder du din form \'form\' og dit tekstfelt \'text\'? Så tag og hold op med det. Det giver mulighed for forveksling med eksisterende namve i javascript.

Vis evt noget eksempelkode. det er noget rivende galt her.

mvh JakobA
Avatar billede nikolajdu Nybegynder
10. januar 2002 - 10:04 #3
Avatar billede jakoba Nybegynder
10. januar 2002 - 11:47 #4
Næe, der var jeg galt på den. både search og indexOf er metoder i string objektet:

var str = \"indexOf og search\";
var soegeString = \"og s\";    // en streng med noget af teksten i
var soegeRegExp = /og s/;    // en regular expression med noget af teksten i

nu vil
    str.indexOf( soegeString );
og
    str.search( soegeRegExp );
give præcis samme resultat.

men med regexp\'en kan man gøre ting man ikke kan med en streng. fx:
var soegeRegExp2 = /og s/i;  // en regular expression der er ligeglad
                              // med STORE/små bogstaver
den vil også finde \"Og S\" og \"OG s\" og allemulige andre varianter hvor der bruges forskellige store og små bogstaver.

mvh JakobA
Avatar billede jakoba Nybegynder
10. januar 2002 - 11:53 #5
i ahv\'s kald
    adr.search(\'@\') == -1

benytter han sig af javascripts automatiske typekonvertering der gør den en-bogstav streng til een regular expression.

men den regular expression der kummer ud af det finder hverken mere eller mindre en en søgning med indexOf ville have gjort.
   
Avatar billede Ny bruger Nybegynder

Din løsning...

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.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester