2016-02-28 30 views
0

我試圖從textarea獲得特定值。我知道這可以通過JavaScript的split方法完成。我無法理解如何去做。如何拆分這種方式

<textarea 
    name="css_sheet" rows="5"> 
    Hey @shaikatssj. How are you? 
    </textarea> 

或者

<textarea name="css_sheet" rows="5"> 
     @name 
     </textarea> 

我想獲得價值shaikatssj

怎麼辦呢?

+1

什麼,*精確*,標記你想從文本的其餘部分的文本?它看起來像你希望它在「@」後面的字符處開始,但你怎麼知道結尾是什麼? 「@ Some.Name」會被視爲你想要的值嗎? –

回答

0

不是最優雅的方式,但這將從您的元素中獲取文本,併除名稱外的所有內容。根據您提供的示例用戶名。

var name = document.getElementsByName('css_sheet')[0].value; 
name = name.split("@")[1]; 
name = name.split(" ")[0]; 
name = name.split(".")[0]; 

此代碼將檢索元素中的文本,然後在文本開始@檢索詞,以及在它的結束卸下.

+0

謝謝..讓我試試。然後我會反饋 – user5724063

+0

這隻適用於給定的例子。當我嘗試使用這個例子時,它不起作用 user5724063

+0

用戶名和密碼開頭處是否總會有@。最後? – millerbr

0

我寧願的東西是這樣的

function findThatThing(string) 
{ 
    return string 
       .match(/@([^\s,;!.]+)/g)       //Match each @ until next white space or some punctuation 
       .map(function(v){return v.substring(1); }); //Remove the @ from each result 
} 

例如

findThatThing("Hello @john and @jane, you can tag by using a @ sign!") 

將返回

["john", "jane"] 

您可以進一步縮小代碼,如果ES6是允許的。