wenn die Variable [duplicate] enthält

10

Ich habe eine Postleitzahlenvariable und möchte mit JS einen Ort in eine andere Variable einfügen, wenn die Postleitzahl geändert / eingegeben wird. Wenn zum Beispiel ST6 eingegeben wird, möchte ich, dass Stoke North eingegeben wird.

Ich muss irgendwie eine if-Anweisung ausführen, um z. B. durchzugehen.

%Vor%

usw. ...

Wie würde ich darüber gehen? Es wird nicht überprüft, ob "Code" einem Wert entspricht, aber wenn es einen Wert enthält, denke ich, dass dies mein Problem ist.

    
Sean Hawkins 22.10.2012, 13:39
quelle

5 Antworten

28

Vielleicht möchten Sie indexOf

%Vor%

Es wird überprüft, ob contains irgendwo in der string Variable code ist. Dies erfordert code als Zeichenfolge. Wenn diese Lösung die Groß- / Kleinschreibung nicht berücksichtigen soll, müssen Sie die Groß- / Kleinschreibung mit String.toLowerCase() oder String.toUpperCase() ändern.

Sie könnten auch mit einer switch -Anweisung wie

arbeiten %Vor%     
clentfort 22.10.2012, 13:41
quelle
9

Sie können eine Regex verwenden:

%Vor%     
SLaks 22.10.2012 13:40
quelle
2

if (code.indexOf("ST1")>=0) { location = "stoke central"; }

    
Antti 22.10.2012 13:45
quelle
1

Der schnellste Weg zu überprüfen, ob eine Zeichenfolge eine andere Zeichenfolge enthält, ist indexOf :

%Vor%     
jbabey 22.10.2012 13:43
quelle
0

Wenn Sie viele davon überprüfen müssen, können Sie eine Liste der Mappings speichern und diese einfach durchlaufen, anstatt eine Menge if / else-Anweisungen zu haben. Etwas wie:

%Vor%

Auf diese Weise können Sie einfach weitere Code- / Standortzuordnungen hinzufügen. Und wenn Sie mehr als einen Ort verwalten möchten, können Sie einfach ein Array von Orten in der Funktion erstellen, anstatt nur den ersten zurückzugeben, den Sie finden.

    
Herms 22.10.2012 14:18
quelle