我需要用正則表達式替換正則表達式的所有匹配,直到使用Javascript在textarea中插入位置。 例如,如果textarea中的文本是:「6名學生攜帶2本書到5班」,光標 放在書本上,正則表達式是/ \ d /,則應將數字6和2替換爲,說,4. 我知道替換函數,我知道如何得到插入的位置,但我該如何解決這個問題? 感謝您提前提供任何幫助!使用Javascript取代textarea中的文本
0
A
回答
4
textareaClicked = function(e){
var pos = e.target.selectionStart;
var beforeSelection = e.target.innerHTML.slice(0,pos);
var afterSelection = e.target.innerHTML.slice(pos);
var newHTML = beforeSelection.replace(/\d/g,4) + afterSelection;
e.target.innerHTML = newHTML;
e.target.setSelectionRange(pos,pos);
};
document.getElementById('foo').onclick=textareaClicked;
看到它在this jsfiddle的行動。
0
有可能是一種更優雅的方式,但我只是從文本區域複製文本,將字符串拆分爲兩個子字符串在插入位置(你說你知道如何找到),做替換第一個子字符串,然後將其與第二個子字符串連接起來。將其複製迴文本區域,確保正確更新插入位置。
+0
感謝您的回覆!我也在沿着同樣的思路思考。如果沒有人提出更好的解決方案,我會接受你的答案。 – user828647 2012-07-07 07:07:38
相關問題
- 1. 使用javascript在textarea中顯示文本
- 2. 使用javascript在textarea中設置文本
- 3. 使用Javascript的代碼Textarea
- 4. 使用javascript獲取ckeditor textarea的textarea值
- 5. textarea替代使用javascript/css
- 6. Javascript:從IE8中的Textarea中獲取選定文本
- 7. 使用JavaScript將本地.txt文件中的文本加載到html textarea中
- 8. 使用Chrome瀏覽器擴展替換TextArea中的文本 - JavaScript
- 9. Javascript-textarea生成文本
- 10. 使用jquery FadeOut textarea中的文本
- 11. JavaScript在textarea onload中選擇文本
- 12. 使用Javascript在Textarea中查找文本行
- 13. 插入文本到一個textarea使用JavaScript沒有JavaScript解析文本
- 14. 從textarea獲取文本
- 15. 從textarea獲取文本jquery
- 16. 如何使用lxml從textarea獲取javascript代碼?
- 17. 使用jQuery在textarea中着色文本
- 18. 使用PHP在textarea中設置文本
- 19. JavaScript與for循環標記文本中的文本textarea
- 20. 從textarea獲取值並用文本創建一個新的textarea
- 21. 從textarea獲取價值。使用JavaScript
- 22. 使用Javascript從HTML中提取文本
- 23. 在JavaScript中使用XPath提取文本
- 24. 使用Javascript從HTML中提取文本
- 25. 在javascript中獲取textarea值
- 26. 使用javascript將textarea分割成不同的文本框
- 27. textarea的autcompleting - 定位文本輸入上使用JavaScript
- 28. 使用文本字段中的文本自動更新textarea
- 29. 在textarea中逐行讀取文本
- 30. 使用php代碼格式化textarea內的文本
感謝您的代碼!這將適用於所有瀏覽器嗎? – user828647 2012-07-07 07:48:00
我相信'e.target'在IE8及以下版本中不起作用,請參閱http://www.quirksmode.org/js/events_properties.html。對於IE與'selectionStart'的兼容性,請參閱http://stackoverflow.com/questions/235411。爲設置選擇,http://stackoverflow.com/questions/1981088可能會有所幫助。其餘的應該可以在所有現代瀏覽器中工作而無需更改。 – 2012-07-07 08:04:48
感謝您的幫助! – user828647 2012-07-07 08:35:44