hulp bij de match() functie

Status
Niet open voor verdere reacties.

atze87

Gebruiker
Lid geworden
23 jul 2007
Berichten
56
hallo,

Ik ben niet echt goed in javascript vandaar de volgende vraag.

bij de functie match() wil ik weten of de string [TITEL] bevat. Maar de [ en ] geven ook wat anders aan in de match functie( geloof [0-9] = 0t/m9 ).

Hoe kan ik zeggen dat hij in een bepaalde string [TITEL] moeten vinden?
En hoe doe ik het zelfde voor [/TITEL]?

PHP:
var str="Hello [TITEL]!";
var re= ????????;

document.write(str.match(re) + "<br />")
 
niemand die mij kan vertellen hoe ik op een [ kan zoeken??
 
Code:
if(str.match("[TITEL]") == '[TITEL]') {
  //de string bevat '[TITEL]'
} else {
  //de string bevat GEEN '[TITEL]'
}

maar jij wilt waarschijnelijk dat de [TITEL] wordt vervangen door een andere tekst?

dan moet je dit doen:
Code:
if(str.match("[TITEL]") == '[TITEL]') {
  str.replace(/[TITEL]/,"hier je tekst")
} else {
  //de string bevat GEEN '[TITEL]'
}

succes!
 
uhm je dit is niet de oplossing:

HTML:
var str = [TITEL]asfdsad[/TITEL];
if(str.match("[TITEL]") == '[TITEL]') {
     str.replace(/[TITEL]/,"hier je tekst")
} 
else
 {
  //de string bevat GEEN '[TITEL]'
  alert(str);
}

geeft mij die alert!!! is dit bij jou ook zo???

nu zit ik er ook nog mee dat ik ook nog een [/TITEL] heb. Hoe doe ik dit met me string replace???(onderstaand zal niet werke neem aan aan door die /[/TITEL]/)

HTML:
if(str.match("[/TITEL]") == '[/TITEL]') 
{
  str.replace(/[/TITEL]/,"hier je tekst")
} 
else 
{
 //de string bevat GEEN '[TITEL]'
					
}
 
Laatst bewerkt:
Je kunt beter .test() gebruiken, .match() doet een aantal verschillende dingen naar gelang de schakelopties.

/ [ en ] zijn speciale tekens die je letterlijk kan gebruiken door ze te backslashen (er een \ voor te zetten).
Code:
<script type="text/javascript">

var re = /^\[TITLE\].*\[\/TITLE\]$/;

var s1 = '[TITLE]Testtekst[/TITLE]';
alert( re.test(s1) ); // true

var s2 = '';
alert( re.test(s2) ); // true

var s3 = '[title]Testtekst[/title]';
alert( re.test(s3) ); // false

var s4 = '[TITLE]Testtekst[TITLE]';
alert( re.test(s4) ); // false

</script>
/^\[TITLE\].*\[\/TITLE\]$/

^\[TITLE\] > ^ = begint met > [TITLE]
.* > . = elk teken > * = 0 of meer keer
\[\/TITLE\]$ > [/TITLE] > $ = eindigt op


http://www.visibone.com/regular-expressions/

Het gaat ongeveer hetzelfde met .replace(). Maar ik weet niet wat je hoe wilt vervangen, als je daar een voorbeeld van geeft kan ik het beter zeggen. :)

Wat moet '[TITLE]Testtekst[/TITLE]' bijvoorbeeld worden?


Vr.Gr. Egel.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan