nach einer variable suchen
oleeeee
- javascript
hi,
in http://de.selfhtml.org/javascript/objekte/string.htm wird folgendes beispiel angeben:
<script type="text/javascript">
var Aussage = "Wir wollen weisse Waesche waschen";
var Ergebnis = Aussage.search(/weiss/);
if (Ergebnis != -1)
alert("gefunden");
</script>
was aber wenn ich das wort "weiss" durch eine Variable ersetzen möchte? also etwa so:
<script type="text/javascript">
var Aussage = "Wir wollen weisse Waesche waschen";
var sucheNach = "weiss";
var Ergebnis = Aussage.search(/ sucheNach /);
if (Ergebnis != -1)
alert("gefunden");
</script>
das klappt natürlich nicht. aber wie komme ich denn aus der suchmuster-syntax heraus um einen variablennamen abzurufen?
lg
Mahlzeit,
var Ergebnis = Aussage.search(/weiss/);
was aber wenn ich das wort "weiss" durch eine Variable ersetzen möchte? also etwa so:
<script type="text/javascript">
var Aussage = "Wir wollen weisse Waesche waschen";
var sucheNach = "weiss";
var Ergebnis = Aussage.search(/ sucheNach /);
Dann musst Du explizit ein neues http://de.selfhtml.org/javascript/objekte/regexp.htm@title=RegExp-Objekt definieren:
var Aussage = new RegExp("Wir wollen weisse Waesche waschen");
var sucheNach = "weiss";
var Ergebnis = Aussage.test(sucheNach);
MfG,
EKKi
gruss EKKi,
...
Dann musst Du explizit ein neues <http://de.selfhtml.org/ javascript/objekte/regexp.htm@title = RegExp - Objekt> definieren:
richtig.
var Aussage = new RegExp("Wir wollen weisse Waesche waschen");
das glaub ich nicht - [Aussage] soll den typ "string" behalten, denn auf diesem wert soll die suche erfolgen.
var sucheNach = "weiss";
auch nicht - [sucheNach] soll ja gerade das variabel zu erzeugende suchmuster sein - also ein [RegExp]-objekt.
var Ergebnis = Aussage.test(sucheNach);
richtig, da syntaktisch korrekt - [RegExp].test([String|string]) - aber dabei handelt es sich nicht um den fall,
den Du und der OP eigentlich testen wollten.
hast Du in Deinem beispiel [Ergebnis] ueberhaupt einer pruefung unterzogen?
code:
var Aussage = "Wir wollen weisse Waesche waschen";
var sucheNach = "weiss";
var regXSucheNach = new RegExp(sucheNach);
var Ergebnis = regXSucheNach.test(Aussage);
alert(Ergebnis); // true;
sucheNach = "wir wollen";
regXSucheNach = new RegExp(sucheNach);
Ergebnis = regXSucheNach.test(Aussage);
alert(Ergebnis); // false;
sucheNach = "waesche waschen";
regXSucheNach = new RegExp(sucheNach, "i");
Ergebnis = regXSucheNach.test(Aussage);
alert(Ergebnis); // true;
so long - peterS. - pseliger@gmx.net