2012-02-14 88 views
0

如何讓jJvascript/jQuery評估輸入的最後一個單詞?jQuery僅評價最後一個單詞

例(DOE RA發拉SI做)只評估做

非常相似,谷歌的搜索框。我只想在空格後進行評估,然後用Ajax調用搜索該單詞。

這是我試過的代碼:

$(document).ready(function() { 

    ajaxcall(); 
    var x = setInterval(ajaxcall, 1000); 

    function ajaxcall() { 
     var nameid = $('#word').val(); 
     if (nameid.match(/^\s*$/)) { 
      // nothing, or nothing but whitespace 
     } else { 
      $.get('mysqlquery.php?id=' + nameid, function(data) { 
       $('#loadbox').append(data + ' '); 
      }); 
     } 
    } 
});​ 
+0

我認爲[這個答案](http://stackoverflow.com/questions/1571686/fastest-way-performance-wise-to-get-last-word-in-a-space-separated-string)將幫助你 – harry 2012-02-14 05:29:35

+0

@ Cjueden ..有幫助嗎? – harry 2012-02-14 05:32:19

+0

感謝您的快速響應,但我需要javascript/jquery字符串可以變得非常長 – Cjueden 2012-02-14 05:34:07

回答

1
$(document).ready(function(){ 

    ajaxcall(); 
    var x = setInterval(ajaxcall,1000); 

function ajaxcall(){ 
    var nameid = $('#word').val().split(' '); 
    nameid = nameid[nameid.length-1]; 
     if (nameid.match(/^\s*$/)) { 
     // nothing, or nothing but whitespace 
    } else { 
     $.get('mysqlquery.php?id='+nameid, function(data){ 
     $('#loadbox').append(data+' ');  
       }); 
     } 
    } 
}); 
+1

用'.split('')方法拆分字符串,這會返回一個字符串數組,這個數組的最後一個成員就是你需要。 – 2012-02-14 05:33:18

+0

使用.pop()方法怎麼樣?這不是讓你成爲數組的最後一個元素嗎? – Ohgodwhy 2012-02-14 05:46:03

+0

是的,'nameid = nameid.pop();'也會。 – 2012-02-14 05:55:33

0

這應該返回字符串的最後一個字:

var str = 'doe ra fa la si do', 
    patt = /[^\s]*$/; 
alert(str.match(patt)); // Returns `do` 
1

嘗試使用.split()將字符串轉換到一個數組,然後使用.pop()返回數組中的最後一個元素:

function lastWord(subject) 
{ 
    var ar = subject.split(" "); 
    return ar.pop(); 
} 

lastWord("some amazing sentence"); // sentence 
相關問題