我需要用正则表达式替换正则表达式的所有匹配,直到使用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