2016-03-31 7 views
-1

Wenn ich ein Textfeld haben, und ich möchte eine IF-Anweisung verwenden, das Textfeld zu überprüfen, zum Beispiel ich diesenif-Anweisungen und TextInput- Wert

if (thistxt.text=="query") 
{ 
thisbool = "true"; 
} 
des Jetzt

tun können, lassen Sie sagen, dass ich ein verwenden möchten IF-Anweisung, um auf das gleiche Textfeld zu verweisen, aber ich möchte nicht diese ganze Phrase ziehen, (Frage) vielleicht nur den Anfang oder das Ende davon, wie könnte ich so etwas tun? Nehmen wir an, ich möchte die IF-Anweisung aktivieren, wenn das Textfeld "Ery" enthält oder endet, aber nicht unbedingt "Ery" entspricht.

Antwort

2

TextField.text gibt eine String zurück. Zeichenfolgen haben die indexOf() method, die die Position einer Teilzeichenfolge zurückgibt, wenn es gefunden wird, andernfalls -1 zurückgeben. Das heißt, Sie können dies tun:

if (thistxt.text.indexOf('ery') >= 0) { 
    thisbool = true; 
} 

Es gibt auch die fortgeschritteneren match() method, die entweder Strings oder regular expressions verwendet:

if (thistxt.text.match('ery').length > 0) { 
    thisbool = true; 
} 

Um Strings am Anfang oder am Ende Ihrer Eingabe passen Sie Regex zu verwenden. Glücklicherweise ist das Muster für diese Art von Spielen ist trivial, wenn sie die vollen Fähigkeiten von regex verglichen - so etwas wie:

if (thistxt.text.match(/^ery/).length > 0) // Match at the start. 
if (thistxt.text.match(/ery$/).length > 0) // Match at the end. 
+0

Lassen Sie uns [diese Diskussion im Chat fortsetzen] (http://chat.stackoverflow.com/rooms/ 107807/Diskussion zwischen Koden und Marty. – Koden