2014-12-02 61 views
-1

我想讓任何輸入文本在每個元音之前添加單詞「元音」 - 例如「你好世界」變成「Hvowelellvowelo wvowelorld」如何在每個元音之前添加一些文字? (代碼在第一個之後停止)

此刻我的代碼工作,但只爲第一個元音,然後停止 - 我怎麼能設置它重複整個文本輸入?

http://jsfiddle.net/53qH6/5/

document.getElementById("input").addEventListener("keyup", function() { 
document.getElementById("output").innerHTML = this.value.replace(/([aeiou]).*/i, "vowel$1"); 
}, false); 

感謝。

+3

add the正則表達式的'g'標誌。 – 2014-12-02 13:04:59

+0

Plz請參考:http://stackoverflow.com/questions/12993629/the-g-flag-in-regular-expressions – Backtrack 2014-12-02 13:30:53

回答

1
document.getElementById("input").addEventListener("keyup", function() { 
    document.getElementById("output").innerHTML = this.value.replace(/([aeiou])/ig, "vowel$1"); 
}, false); 

這將解決你的問題

小提琴:

http://jsfiddle.net/sornalingam/53qH6/6/

的G表示全球,並導致代替調用替換所有的比賽,不只是第一個

The 'g' flag in regular expressions

+0

向下投票與評論是我的寵物peeve – Backtrack 2014-12-02 13:16:10

+0

而downvoted plz檢查小提琴和讓我知道 – Backtrack 2014-12-02 13:25:36

+0

請解釋爲什麼這個工程。 – 2014-12-02 13:27:00

相關問題