Javascript 提示用户替换字符串中文本的某些部分

Javascript 提示用户替换字符串中文本的某些部分,javascript,regex,actionscript-3,air,Javascript,Regex,Actionscript 3,Air,我有一个程序,允许用户在文本框中键入JavaScript,并在HTML查看器或iframe中执行。有一个下拉列表,其中包含“插入图像”等选项,用于插入 var $'Image Name' = document.createElement('img'); $'Image Name'.src = $'Image URL'; $'Image Name'.style.position = 'absolute'; document.body.appendChild($'Image Name'); 输入文

我有一个程序,允许用户在文本框中键入JavaScript,并在HTML查看器或iframe中执行。有一个下拉列表,其中包含“插入图像”等选项,用于插入

var $'Image Name' = document.createElement('img');
$'Image Name'.src = $'Image URL';
$'Image Name'.style.position = 'absolute';
document.body.appendChild($'Image Name');
输入文本框。我希望用户选择“插入图像”选项,并让一个对话框遍历每个
$'
,并要求用一些内容替换它们,因此对于第一个
$'Image Name'
,提示用户输入变量名,然后
替换($'Image Name',userText)
这样所有的
$图像名称
都会被替换,并且不会再次提示用户输入相同的图像名称。有什么想法吗?我有这个替代品:

replace(/^\$\"|\'.$\"|\'/gi, function ($string) { return prompt($string);});

但是它匹配的是引号,而不是引号中的文本,我甚至不知道正则表达式,如果你能解出正则表达式,我就能解出剩下的部分。

我想你想要这样的东西:

replace(/\$'([^']+)'/g, function (s, contents) { return prompt(contents); });

尽管我应该提到,如果一个单引号字符串恰好以美元符号结尾,或者如果一个双引号字符串恰好包含
$”
或诸如此类的内容,那么这将是一个错误行为;你需要有能力处理这类案件吗?(你的问题不清楚你是否完全控制了文本区的内容,或者你的用户是否正在编辑该内容。)

请将问题格式化为可读的内容:最终,用户可能能够创建自己的文本区,但大多数文本区将包含在应用程序中,所以我不认为这太重要,我只是想让它暂时起作用