我需要用正則表達式替換正則表達式的所有匹配,直到使用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. textarea替代使用javascript/css
- 4. Javascript:從IE8中的Textarea中獲取選定文本
- 5. 使用Chrome瀏覽器擴展替換TextArea中的文本 - JavaScript
- 6. JavaScript在textarea onload中選擇文本
- 7. 插入文本到一個textarea使用JavaScript沒有JavaScript解析文本
- 8. 從textarea獲取文本
- 9. 使用jQuery在textarea中着色文本
- 10. 使用PHP在textarea中設置文本
- 11. 從textarea獲取值並用文本創建一個新的textarea
- 12. 在javascript中獲取textarea值
- 13. 使用Javascript從HTML中提取文本
- 14. 使用文本字段中的文本自動更新textarea
- 15. 如何通過JavaScript獲取textarea元素內的選定文本?
- 16. 使用Javascript獲取本地HTML文件的HTML代碼
- 17. 使用jQuery獲取頁面上的選定文本(不在textarea中)使用jQuery
- 18. 使用eval來評估一個textarea中的javascript代碼片段?
- 19. 使用輸入到textarea中的JavaScript代碼
- 20. 從文本框和textarea中獲取文本並使用jquery或javascript保存爲cookie值
- 21. 如何使用webdriver獲取textarea的文本內容?
- 22. 如何使用Jquery從動態創建的textarea獲取文本?
- 23. textarea中的格式文本
- 24. textarea中的粗體文本
- 25. textarea中的文本格式
- 26. Javascript:使用AJAX讀取文本文件
- 27. 使用Javascript讀取文本文件
- 28. 動態加載Textarea中的文本,使用Javascript自動向下滾動?
- 29. 使用ajax在textarea中加載文本文件的內容
- 30. JavaScript將文本放入iFrame中的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