2016-06-13 1 views
0

Hallo ich weiß, ist, dass search() in Javascript funktioniert nicht (kehrt -1), wenn der erste charachter im String nicht existiert .. .search() Javascript funktioniert nicht, wenn erste Zeichen dort nicht im String

Und so in diesem Beispiel, wenn wir "x home" schreiben, gibt -1 zurück.

Aber gibt es eine Möglichkeit, dieses Problem zu "lösen"? kurz, wenn ich „x Haus“ schreibe sowieso dort das Wort Haus ...

ich eine Methode möchte in diesem Fall, die nicht -1

+0

Es scheint, dass Sie das Subjekt und das Objekt tauschen wollen: 'textinsert.search (nome_search)'. Hast du das versucht? – trincot

+1

Wenn also jemand 'x home' schreibt, willst du das' x' ignorieren? Oder suchen Sie separat nach 'x' und' home'? – Simba

+0

für mich muss nicht -1 zurückgeben, wenn es das Wort nach Hause gibt ... für mich ist nicht wichtig, wenn vor dem Wort nach Hause gibt es "x" oder einen anderen Zeichen – Borja

Antwort

1

Sie zurückkehrt suche nach "x home" in "home". So gibt es -1 zurück.

if (nome_search.search(textinsert) != -1) 

Sollte

if (textinsert.search(nome_search) != -1) 
1

Ist das nome_search.search(textinsert) einfach nach hinten? textinsert.search(nome_search)

Überarbeitete Code:

function getStringPostion(re, str) { 
    var midstring; 
    var position = str.search(re); 
    midstring=(position != -1) ? ' contains ':' does not contain '; 
    console.log(str + midstring + re); 
    console.log(position); 
    return position; 
} 
var foundAtPosition = getStringPostion("home","x home"); 
-1

Iterieren Trog alle eingesetzten Strings tun könnten:

var f = function(re) { 
    var textinsert = ($(this).val()).toLowerCase().split(" "); 

    var nome_search = "home"; 
    var result = 0; 
    for (var i = 0; i<textinsert.length; i++){ 
    console.log(textinsert[i]); 
    if (nome_search.search(textinsert[i]) != -1) result++; 
    } 
    return result > 0 ? alert('ok') : alert('not') ; 
}; 

, solange sie durch Räume wie in Ihrem Beispiel getrennt sind.

Verwandte Themen